我们是否可以添加或使用handleOpenURL其他应用程序代理
问题描述:
我正在为我的产品构建SDK,并且不会有应用程序委托类。我在SDK中使用了Dropbox集成,所以我必须使用以下方法。我们是否可以添加或使用handleOpenURL其他应用程序代理
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
NSString *stringUrl = [url absoluteString];
if ([stringUrl containsString:@"cancel"]) {
// Handle if user cancelled the login
[[NSNotificationCenter defaultCenter] postNotificationName:@"dropboxRegistrationCancel" object:self];
return NO;
}
if ([[DBSession sharedSession] handleOpenURL:url]) {
if ([[DBSession sharedSession] isLinked]) {
NSLog(@"App linked successfully!");
// At this point you can start making API calls
[[NSNotificationCenter defaultCenter] postNotificationName:ApplicationComeBackFromDropBoxLoginPage object:self];
}
return YES;
}
// Add whatever other url handling code your app requires here
return NO;
}
所以问题是没有应用程序委托,比如何使用上述方法? 或者任何其他的解决方案,以便在另一个类中使用它(如继承UIResponder类)。 寻求帮助。
答
如果你正在构建一个没有appDelegate的SDK,那么你无事可做。它将在您的项目中,您将使用您的SDK,您将不得不添加此行。 顺便说一句,因为你不使用stringUrl以后,和
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
// NSString *stringUrl = [url absoluteString];
return YES;
}
只是意味着该行NSString *stringUrl = [url absoluteString];
是是绝对没用的:是的,你可以退出我的应用程序打开另一个应用程序时,一个链接,在用户点击。 没有biggy ....
谢谢弗洛里安,请看看我更新的问题,我完成显示的方法。我使用这种方法区分用户点击取消按钮或成功登录。 – Aleem
此外,这是SDK的一部分,而不是应用程序,用户可以从Dropbox中选择文件 – Aleem
正如你所提到的“它将在你的项目中你将使用你的SDK”我想添加这个我的SDK,我知道我可以添加这个在项目中,可以在SDK文档中提到,但首先我想解决这个问题,如果这可以在SDK中处理。 没有提到这种方法,我可以完成我的任务吗? – Aleem