gpt4 book ai didi

ios - Dropbox 错误在设备上打开另一个应用程序,而不是在模拟器上

转载 作者:行者123 更新时间:2023-12-01 16:51:35 25 4
gpt4 key购买 nike

我有三个将文件上传到 Dropbox 的应用程序。所有三个相同的代码。他们都共享同一个文件夹,所以我使用了相同的 key 等

这就是奇怪的地方

1. 几个月一切都很好

2. 现在在应用程序 2 和 3 上,当用户尝试登录时会打开第一个应用程序吗?

3. 注销并登录,没有帮助,只是说连接到 Dropbox 时出错,稍后再试

我试过的

为所有三个应用程序创建单独的 key 等而不是共享相同的 key ,仍然得到相同的行为?

对此的一些研究表明,即使您删除应用程序,Dropbox 也改变了通过应用程序和提醒链接到用户帐户的方式?有没有其他人有这方面的经验?

应用代理

NSString* appKey = @"00000000000";
NSString* appSecret = @"0000000000";
NSString *root = kDBRootAppFolder;

DBSession* session =
[[DBSession alloc] initWithAppKey:appKey appSecret:appSecret root:root];
session.delegate = self; // DBSessionDelegate methods allow you to handle re-authenticating
[DBSession setSharedSession:session];

[DBRequest setNetworkRequestDelegate:self];

viewController 中的按钮处理程序
LogCmd();
self.publishButtonPressed = YES;
if (![[DBSession sharedSession] isLinked]) {
[self loginLogoutButtonPressed:nil];
} else {

DBRestClient *restClient = [[DBRestClient alloc] initWithSession:[DBSession sharedSession]];
restClient.delegate = self;
NSError *error = nil;
NSString *filePath = [ICUtils pathForDocument:self.fileName];
[self.pdfData writeToFile:filePath options:0 error:&error];
if (nil == error) {

[restClient uploadFile:self.fileName
toPath:@"/"
withParentRev:nil
fromPath:filePath];
} else {
[ICUtils raiseAlertWithTitle:@"An error occurred" message:[error localizedDescription]];
}
}
}

备注 在模拟器上工作正常,问题只出现在设备上

最佳答案

那是因为您对多个应用程序使用相同的 key 。 Dropbox 应用程序通过自定义 URL 方案与您的应用程序通信 - 以启动您的应用程序(因为没有其他方法可以在 iOS 上以编程方式启动应用程序)。

换句话说,Dropbox 应用告诉系统打开“db-yoursecretkey://somemessage”,这会打开该自定义 URL 方案的注册应用。不幸的是,您的所有应用程序都使用相同的自定义方案,因为它们都使用相同的 key ,因此系统只会选择一个:最有可能是第一个。

但是,您可以授予您的应用访问 Dropbox 中所有文件夹的权限,从而有效地共享文件夹。因此,没有必要让所有三个应用程序都使用相同的 key 。

关于ios - Dropbox 错误在设备上打开另一个应用程序,而不是在模拟器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15291857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com