メインメニューを開く

「Xamarin.Mac/カスタムURLスキームを利用する」を編集中

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
1行目: 1行目:
[[Xamarin.Mac]][[カスタムURLスキーム]]を使いたい。
+
[[Xamarin.Ma]]cで[[カスタムURLスキーム]]を使いたい。
URLを叩くとアプリが起動するアレである。
 
[[Xamarin.iOS]]とは微妙に実装方法が異なる。
 
  
 
== 実装 ==
 
== 実装 ==
=== カスタムURLスキームを有効にする ===
 
 
以下でカスタムURLスキームが利用可能になる。
 
以下でカスタムURLスキームが利用可能になる。
# [[Xamarin Studio]]でプロジェクト内の「Info.plist」を開く
+
# Xamarin Studioでプロジェクト内の「Info.plist」を開く
 
# 下部の「Advanced」タブを開く
 
# 下部の「Advanced」タブを開く
 
# URL Typesの「Add URL Type」ボタンを押す
 
# URL Typesの「Add URL Type」ボタンを押す
#: まれにボタンを押しても何も起きない場合がある。その際はInfo.plistを閉じて再度開くと追加されている。
 
 
# 「Identifier」は何でもよい。アプリのIdentifierでも入れておく。
 
# 「Identifier」は何でもよい。アプリのIdentifierでも入れておく。
 
# 「URL Schems」にURLスキーム名を入れる(例:monobook)
 
# 「URL Schems」にURLスキーム名を入れる(例:monobook)
  
=== カスタムURLスキームで呼ばれるメソッドを作る ===
+
次にURLスキームが叩かれた際に呼ばれるメソッドの登録と実装をする。
次にカスタムURLスキームが叩かれた際に呼ばれるメソッドの登録と実装をする。
 
 
<source lang="csharp">
 
<source lang="csharp">
 
using System;
 
using System;
36行目: 31行目:
 
         {
 
         {
 
             // URLスキームで呼ばれるメソッドを指定する。
 
             // URLスキームで呼ばれるメソッドを指定する。
            // Export("handleGetURLEvent:withReplyEvent:")属性が付いたメソッドが呼ばれる。
 
 
             var appleEventManager = NSAppleEventManager.SharedAppleEventManager;
 
             var appleEventManager = NSAppleEventManager.SharedAppleEventManager;
 
             appleEventManager.SetEventHandler(this
 
             appleEventManager.SetEventHandler(this
64行目: 58行目:
 
                                 ;
 
                                 ;
 
                                    
 
                                    
            // ブレークポイント挿入用
 
 
             Console.WriteLine(parameters);
 
             Console.WriteLine(parameters);
 
         }
 
         }
  
 
         /// <summary>
 
         /// <summary>
        /// NSAppleEventDescriptorのParamDescriptorForKeywordメソッドに指定する定数。
+
         /// Xamarin.Macに定数らしきものが見当たらなかったので作った
         /// Xamarin.Macに定数らしきものが見当たらなかったのでxcode眺めつつ作った。
 
 
         /// </summary>
 
         /// </summary>
 
         public static class AEKeyword
 
         public static class AEKeyword
96行目: 88行目:
 
</source>
 
</source>
  
=== デバッグ ===
+
ターミナルでopenを叩けば簡単に[[デバッグ]]できる。openの引数(URLスキーム)にアンパサンド(&)を含む場合はダブルクォーテーション(")で囲むこと。
ターミナルでopenコマンドを叩けば簡単に[[デバッグ]]できる。openの引数(URLスキーム)にアンパサンド(&)を含む場合はダブルクォーテーション(")で囲むこと。
 
 
  open "monobook://"
 
  open "monobook://"
 
  open "monobook://inbox"
 
  open "monobook://inbox"
104行目: 95行目:
  
 
== 関連項目 ==
 
== 関連項目 ==
* [[Xamarin.iOS/カスタムURLスキームを利用する]]
 
  
 
== 参考文献 ==
 
== 参考文献 ==

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: