私のアプリでは、Dropbox Sync SDK を既に統合しています。だから、iOS 用の Dropbox Chooser SDK が出てきたら、試してみます。
私の質問は、実際のデバイスでテストしたところ、
「リンクを生成できません。申し訳ありませんが、エラーが発生しました。後でもう一度お試しください。」
// 注: 彼らは、「Core または Sync API も使用するため、複数のアプリ キーを必要とするプロジェクトがある可能性があります。この場合、適切なアプリ キーを使用して、セレクターの独自のインスタンスを明示的に初期化する必要があります。 -initWithAppKey: メソッドを使用します。」
更新:
私は既に Sync API 用の同じ URL スキームを持っているので、私がしたことは-initWithAppkey:
、両方のメソッドで Chooser の別のインスタンスを初期化することでした -application:openURL:sourceApplication:annotation:
私のAppDelegateで
-(BOOL) application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
{
// instantiate a new DBChooser instance with Chooser Key
// .. make sure it should not include 'db-' prefix
DBChooser *chooser = [[DBChooser alloc] initWithAppKey:@"my-chooser-key"];
if ([chooser handleOpenURL:url]) {
// This was a Chooser response and handleOpenURL automatically ran the
// completion block
return YES;
}
return NO;
}
...そして私の一番上のView Controller。
- (void)didPressChoose
{
// .. make sure it should not include 'db-' prefix
DBChooser *chooser = [[DBChooser alloc] initWithAppKey:@"my-dropbox-key"];
[chooser openChooserForLinkType:DBChooserLinkTypeDirect
fromViewController:self
completion:^(NSArray *results)
{
if ([results count]) {
// Process results from Chooser
_result = results[0];
NSLog(@"%@", _result.link);
} else {
// User canceled the action
}
}];
}