我有一个使用Facebook SDK进行用户登录的应用程序.我按照Facebook授权教程.我不是100%确定它是如何工作的但是我的“AppDelegate.m”中的这一部分似乎很重要.
- (BOol)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(Nsstring *)sourceApplication annotation:(ID)annotation { return [FBSession.activeSession handleOpenURL:url];}
到现在为止还挺好.现在我想为instagram实现类似的登录,以便用户可以访问他们的照片.我运行这个例子没有问题(https://github.com/crino/instagram-ios-sdk).当我试图将它导入我的项目时,我陷入困境.因为在instagram项目中AppDelegate中还有一个函数(IGAppDelegate)
-(BOol)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(Nsstring *)sourceApplication annotation:(ID)annotation { return [self.instagram handleOpenURL:url];}
现在我不能使用这个功能(因为它是Facebook的副本)@H_502_11@有没有办法将这两个功能组合为facebook和instagram(对于不同的URL可能带有“if”).或者我输了
PS:我注意到当我打电话给我的facebook登录应用程序时,网址就像是
fb4333597123414933://授权/#=的access_token&BAAGKI2vHLxUBANbDegkrdoc4GJWUZC2clqLAzxz8IxEBZBdEyjrD2oTaGZA0g2AbSGWgvEhONKM6xJWzLCALGUBguqUpor6kXu9ZBewusNZCUe6BoxYvX放大器; expires_in = 5166254
在Instagram中它就像:
igfd725621c5e44198a5b8ad3f7a0ffa09://authorize#access_token=354172840.fd72562.bf6b3611632d4d00b6cef660ea9d9b6f
解决方法- (BOol)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(Nsstring *)sourceApplication annotation:(ID)annotation { NSLog(@"url: %@",[url scheme]); BOol callBack; // Facebook Call back checking. if ([[url scheme] isEqualToString:@"facebook_url_schema"]) { callBack = [FBAppCall handleOpenURL:url sourceApplication:sourceApplication]; } // Instagram call back checking. else if ([[url scheme] isEqualToString:@"instagram_url_schema"]) { callBack = [self.instagram handleOpenURL:url]; } return callBack;![enter image description here][1] }总结
以上是内存溢出为你收集整理的在iOS(Facebook和Instagram)中处理不同的URL方案全部内容,希望文章能够帮你解决在iOS(Facebook和Instagram)中处理不同的URL方案所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)