私はこのことをまったく機能させるのにひどい時間を過ごしています。私はSalesforceのWebサイトのドキュメント、分散SDKのサンプルコードを読んで、一般的に壁に頭をぶつけて2日間過ごしました。
最も苛立たしいのは、ログイン画面が表示されていないことですが、ログイン画面の作成方法を教えてくれるものが見つかりません。私の知る限り、SFログインページを指すのはUIWebViewだけです。
これが私がこれまでに理解できたことです:
- SDKをプロジェクト(SalesforceSDK、SalesforceOAuth、RestKit)に追加し、 Gitreadmeに記載されているすべてのライブラリに対してリンクしました。
"SFRestAPI.h"
サーバーとのデータの送受信に使用しているサーバー通信クラスに含まれています。SDKで配布されているXCodeテンプレートのコードを使用してSFRestRequestを呼び出しました。
SFRestRequest *request = [[SFRestAPI sharedInstance] requestForQuery:@"SELECT Name FROM User LIMIT 10"]; [[SFRestAPI sharedInstance] send:request delegate:self];
デリゲートメソッドを追加しました:
#pragma mark - Salesforce REST API delegate methods
- (void)request:(SFRestRequest *)request didLoadResponse:(id)jsonResponse
{
NSLog(@"%@", jsonResponse);
}
- (void)request:(SFRestRequest *)request didFailLoadWithError:(NSError*)error
{
NSLog(@"%@", error);
}
- (void)requestDidCancelLoad:(SFRestRequest *)request
{
NSLog(@"%@", request);
}
- (void)requestDidTimeout:(SFRestRequest *)request
{
NSLog(@"%@", request);
}
5.コンソールでこれを見ました:
`2012-09-11 10:23:44.128 ClientApp[39697:c07] SFRestAPI::send: <SFRestRequest 0xd4a9cb0
endpoint: /services/data
method: GET
path: /v23.0/query
queryParams: {
"q" : "SELECT Name FROM User LIMIT 10"
}`
SFRestRequestのデリゲートメソッドは呼び出されませんでした。
うまくいかなかったものは次のとおりです。
アプリのデリゲートをSFNativeRestAppDelegateのサブクラスにする
これにより、約12の重複シンボルエラーが発生しました。
duplicate symbol _OBJC_CLASS_$_SFNativeRestAppDelegate in:
/Volumes/Wallace/Users/gromitt/Library/Developer/Xcode/DerivedData/ClientApp-bpccblcllzkzvudxtwutuqliagld/Build/Intermediates/ClientApp.build/Debug-iphonesimulator/ClientApp.build/Objects-normal/i386/SFNativeRestAppDelegate.o
/Volumes/Wallace/Users/gromitt/Documents/Out to Lunch/ iOS Apps/ClientApp/ClientApp/dependencies/SalesforceSDK/libSalesforceSDK.a(SFNativeRestAppDelegate.o)
duplicate symbol _OBJC_IVAR_$_SFNativeRestAppDelegate._authViewController in:
/Volumes/Wallace/Users/gromitt/Library/Developer/Xcode/DerivedData/ClientApp-bpccblcllzkzvudxtwutuqliagld/Build/Intermediates/ClientApp.build/Debug-iphonesimulator/ClientApp.build/Objects-normal/i386/SFNativeRestAppDelegate.o
/Volumes/Wallace/Users/gromitt/Documents/Out to Lunch/ iOS Apps/ClientApp/ClientApp/dependencies/SalesforceSDK/libSalesforceSDK.a(SFNativeRestAppDelegate.o)
duplicate symbol _OBJC_IVAR_$_SFNativeRestAppDelegate._viewController in:
/Volumes/Wallace/Users/gromitt/Library/Developer/Xcode/DerivedData/ClientApp-bpccblcllzkzvudxtwutuqliagld/Build/Intermediates/ClientApp.build/Debug-iphonesimulator/ClientApp.build/Objects-normal/i386/SFNativeRestAppDelegate.o
/Volumes/Wallace/Users/gromitt/Documents/Out to Lunch/ iOS Apps/ClientApp/ClientApp/dependencies/SalesforceSDK/libSalesforceSDK.a(SFNativeRestAppDelegate.o)
duplicate symbol _OBJC_IVAR_$_SFNativeRestAppDelegate._window in:
/Volumes/Wallace/Users/gromitt/Library/Developer/Xcode/DerivedData/ClientApp-bpccblcllzkzvudxtwutuqliagld/Build/Intermediates/ClientApp.build/Debug-iphonesimulator/ClientApp.build/Objects-normal/i386/SFNativeRestAppDelegate.o
/Volumes/Wallace/Users/gromitt/Documents/Out to Lunch/ iOS Apps/ClientApp/ClientApp/dependencies/SalesforceSDK/libSalesforceSDK.a(SFNativeRestAppDelegate.o)
duplicate symbol _OBJC_METACLASS_$_SFNativeRestAppDelegate in:
/Volumes/Wallace/Users/gromitt/Library/Developer/Xcode/DerivedData/ClientApp-bpccblcllzkzvudxtwutuqliagld/Build/Intermediates/ClientApp.build/Debug-iphonesimulator/ClientApp.build/Objects-normal/i386/SFNativeRestAppDelegate.o
/Volumes/Wallace/Users/gromitt/Documents/Out to Lunch/ iOS Apps/ClientApp/ClientApp/dependencies/SalesforceSDK/libSalesforceSDK.a(SFNativeRestAppDelegate.o)
duplicate symbol _kDefaultLoginHost in:
/Volumes/Wallace/Users/gromitt/Library/Developer/Xcode/DerivedData/ClientApp-bpccblcllzkzvudxtwutuqliagld/Build/Intermediates/ClientApp.build/Debug-iphonesimulator/ClientApp.build/Objects-normal/i386/SFNativeRestAppDelegate.o
/Volumes/Wallace/Users/gromitt/Documents/Out to Lunch/ iOS Apps/ClientApp/ClientApp/dependencies/SalesforceSDK/libSalesforceSDK.a(SFAccountManager.o)
ld: 6 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
どんな助けでも大歓迎です。前もって感謝します。