1

LinkedIn を iPhone で認証しようとしています。

次のコードを使用してURLをリダイレクトしています

NSString *authUrl = [NSString stringWithFormat:@"https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=%@&scope=%@&state=%@&redirect_uri=%@" ,
                     API_KEY ,
                     @"r_fullprofile",
                     @"ASDKASIIWER23432KKQ",
                     @"http://www.myappname.com"
                     ];


[[UIApplication sharedApplication] openURL:[NSURL URLWithString: authUrl]];

私の URL タイプでは、URL スキームを追加しhttp://、URL 識別子を追加しました

 www.myappname.com

ただし、承認した後、ブラウザからアプリケーションに戻りません。

私が間違っているアイデアはありますか?

4

2 に答える 2

2

iOS と OS X には URL スキーム内の特定のホストをリダイレクトする方法がないため、カスタム URL スキームを登録する必要があります。

x-myapp:通常、 URL スキームとして次のようなものを使用できます。

さらに、URL 識別子はホストではなく、ファイル タイプの UTI 識別子が特定のファイル タイプを記述するのと同じように、URL スキームを記述する識別子です。たとえばcom.myCompany.myApp.url、識別子として または類似のものを使用できます。

x-myapp:フォームのスキームを作成し、それをリダイレクト URL として使用すれば問題ありません。

提案された Info.plist の例は次のようになります。

<dict>
    <key>CFBundleTypeRole</key>
    <string>Editor</string>
    <key>CFBundleURLName</key>
    <string>com.myCompany.myApp.url</string>
    <key>CFBundleURLSchemes</key>
    <array>
        <string>x-myapp</string>
    </array>
</dict>

CFBundleURLName、Xcode GUI で に対応しURL Identifierます。

于 2013-04-04T16:31:47.900 に答える