0

Salesforce iOS ネイティブ ライブラリを iOS ネイティブ アプリケーションに統合する必要があり、以下に示すように、Salesforce ログイン画面とフローを表示する必要があります。

  1. iOS ネイティブ アプリケーションにホーム画面があります。
  2. そこから、Salesforce のログイン画面に移動する必要があります。
  3. ユーザーが資格情報を入力すると、Salesforce がそれを検証します。
  4. ログインに成功すると、トークン/セッション ID とともにホーム画面に戻ります。
  5. アプリケーションで内部的に使用するトークン/セッション ID。

これを実現するために、以下のリンクhttps://github.com/forcedotcom/SalesforceMobileSDK-iOS-Distributionから「SalesforceMobileSDK-iOS-Distribution」を アプリケーションに統合しました。しかし、正確には、どこから、どのように開始すればよいかわかりません。どのクラスで Salesforce のログイン画面が表示されますか。私は何かを試しました

[SFUserAccountManager sharedInstance].oauthClientId = strClientID;
[SFUserAccountManager sharedInstance].oauthCompletionUrl = strCallbackURI; 
[SFUserAccountManager sharedInstance].scopes = [NSSet setWithObjects:@"api",@"web", nil];

[SalesforceSDKManager sharedManager].connectedAppId = strClientID;
[SalesforceSDKManager sharedManager].connectedAppCallbackUri = strCallbackURI;   
[SalesforceSDKManager sharedManager].authScopes = @[@"web", @"api"]; 
[[SalesforceSDKManager sharedManager] launch];

クライアント ID、シークレット コード、リダイレクト URI などのアプリ情報を接続しました。どうすれば続行できますか?

zkSforceこのリンクからライブラリを使用する場合https://github.com/superfell/zkSforce 私の要件を満たしていますか? 私を助けてください。前もって感謝します。

4

3 に答える 3

1

最後に私はそれを達成しました。この質問に対する良い答えは

  1. "SalesforceMobileSDK-iOS-Distribution"以下のリンクhttps://github.com/forcedotcom/SalesforceMobileSDK-iOS-Distributionからダウンロードします。
  2. すべての「-Release.zip」ファイルを抽出し、それらをアプリケーションに追加します。
  3. すべてのライブラリのヘッダー検索パスを設定し"$(SRCROOT)/your app name/your library name"、「再帰的」を選択します。
  4. 「-ObjC」や「-all_load」などのその他のリンカー フラグを設定します。
  5. ファイルをインポート"SFUserAccountManager.h", "SFAuthenticationManager.h" and "SFIdentityData.h"します。
  6. 以下のコード スニペットをログイン アクションに追加します。

    [SFUserAccountManager sharedInstance].oauthClientId = strClientID;
    
    [SFUserAccountManager sharedInstance].oauthCompletionUrl = strCallbackURI;
    
    // [SFUserAccountManager sharedInstance].scopes = [NSSet setWithObjects:@"web", @"api", nil];
    
    [[SFAuthenticationManager sharedManager] addDelegate:self];
    
    [[SFAuthenticationManager sharedManager]
     loginWithCompletion:(SFOAuthFlowSuccessCallbackBlock)^(SFOAuthInfo *info) {
         NSLog(@"Authentication Done");
    
         SFIdentityData *claims = [SFAuthenticationManager sharedManager].idCoordinator.idData;
         NSLog(@"claims = %@",claims);
    
         NSLog(@"accessToken = %@", [SFAuthenticationManager sharedManager].coordinator.credentials.accessToken);
    
     }
     failure:(SFOAuthFlowFailureCallbackBlock)^(SFOAuthInfo *info, NSError *error) {
         NSLog(@"Authentication Failed");
     // handle error hare.
     }
     ];
    
    #pragma mark - SFAuthenticationManager
    
    - (void)authManager:(SFAuthenticationManager *)manager willDisplayAuthWebView:(UIWebView *)view{
    
     }
    
    - (void)authManagerDidFail:(SFAuthenticationManager *)manager error:(NSError*)error info:(SFOAuthInfo *)info{
    }
    

お役に立てば幸いです。

注: 私によると、「コールバック URI」は「http」または「https」で始まるべきではありません。

于 2014-12-22T21:00:25.183 に答える
0

営業部門は oAuth ログインを使用します。コードは魔法を行う必要があります。あなたの主な問題は何ですか? 上記のコードを実行した後、ログイン ページを表示できませんでしたか?

SFDC iOS SDK の動作を確認する他の方法は、forceios npm パッケージをインストールし、提供される cmd からネイティブ iOS アプリケーションを作成することです。[ https://www.npmjs.com/package/forceios]

作成されたアプリケーションでは、SFDC SDK がどのように機能するかを垣間見ることができます [ログイン、SFDC からのデータの取得など]。

于 2014-12-18T09:43:48.030 に答える