7

カスタム URL スキームまたはプロトコル (myapp:123 など) を MonoTouch に登録することはできますか? ユーザーが Web ページ、メール、またはカレンダーの説明でこのリンクをクリックすると、MonoTouch アプリが起動し、URL「パラメーター」、この場合は「123」を取得したいと考えています。

要するに、iPhone の Spotify アプリと同じ機能が必要で、その spotify:track:123123 を使用できますか?

4

2 に答える 2

7

はい、これがあなたがする必要があることです。

dict タグ内のどこかに次の Info.Plist を追加します。

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>com.companyname.com.receiver</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>myapp</string>
        </array>
    </dict>
</array>

次に、AppDelegate.cs でメソッドをオーバーライドしますHandleOpenURL

public override bool HandleOpenURL (UIApplication application, NSUrl url)
{
    if (url == null) {
        return false;
    }

    var uri = new Uri(url.ToString()); // I prefer working with the Uri class.

    // Your logic here

    return true;
}
于 2012-08-30T13:30:21.120 に答える
4

はい、いくつかの MonoTouch アプリケーションでそれを実行しました。アプリへのログインに Facebook SDK を使用する場合は、実際に必要です。

一般に、通常の Objective-C アプリの場合と同じ手順に従います: http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html (「通信他のアプリと」)

あなたAppDelegateにはHandleOpenURLオーバーライドする方法があります。それを超えて、変更する Info.plist の設定がいくつかあります。

于 2012-08-30T12:18:59.907 に答える