Facebook的iOS URL方案
iOS Facebook要求我添加URL方案,以便用户可以在我的应用程序中通过Facebook登录/注册。那么,我也可以使用这个Facebook URL方案来启动我的应用程序吗?我不需要支持深度链接——我只想通过营销电子邮件启动应用程序。 显然,添加我自己的URL方案是首选,但添加我自己的方案需要几周时间,然后应用程序才能投入生产Facebook的iOS URL方案,ios,url,facebook-ios-sdk,Ios,Url,Facebook Ios Sdk,iOS Facebook要求我添加URL方案,以便用户可以在我的应用程序中通过Facebook登录/注册。那么,我也可以使用这个Facebook URL方案来启动我的应用程序吗?我不需要支持深度链接——我只想通过营销电子邮件启动应用程序。 显然,添加我自己的URL方案是首选,但添加我自己的方案需要几周时间,然后应用程序才能投入生产 有什么理由我不应该同时使用Facebook URL方案(如fb12345://test)?AFAIK Facebook让您使用的特殊URL方案包含您的Facebook
有什么理由我不应该同时使用Facebook URL方案(如fb12345://test)?AFAIK Facebook让您使用的特殊URL方案包含您的Facebook应用程序id。这是。因此没有造成任何伤害 只要Facebook SDK不会曲解您打开应用程序时使用的url中的数据,并且不会对其进行一些奇怪的操作(例如,由于无效参数或其他原因(不太可能但可能)导致崩溃),您就应该很好 也就是说,你需要发布你的
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
对我来说,没有什么不好的事情会发生 AFAIK Facebook让您使用的特殊url方案包含您的Facebook应用程序id。这是。因此没有造成任何伤害 只要Facebook SDK不会曲解您打开应用程序时使用的url中的数据,并且不会对其进行一些奇怪的操作(例如,由于无效参数或其他原因(不太可能但可能)导致崩溃),您就应该很好 也就是说,你需要发布你的
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
对我来说,没有什么不好的事情会发生 AFAIK Facebook让您使用的特殊url方案包含您的Facebook应用程序id。这是。因此没有造成任何伤害 只要Facebook SDK不会曲解您打开应用程序时使用的url中的数据,并且不会对其进行一些奇怪的操作(例如,由于无效参数或其他原因(不太可能但可能)导致崩溃),您就应该很好 也就是说,你需要发布你的
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
对我来说,没有什么不好的事情会发生 AFAIK Facebook让您使用的特殊url方案包含您的Facebook应用程序id。这是。因此没有造成任何伤害 只要Facebook SDK不会曲解您打开应用程序时使用的url中的数据,并且不会对其进行一些奇怪的操作(例如,由于无效参数或其他原因(不太可能但可能)导致崩溃),您就应该很好 也就是说,你需要发布你的
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
对我来说,没有什么不好的事情会发生 Facebook的iOS SDK是开源的,所以你可以一步一步地浏览代码,看看会发生什么。我在我的应用程序上使用了一个虚拟URL
fb12345://noop
,发现a)有很多测试正在进行,B)它们似乎都失败了,没有副作用
您的想法可能会有所不同,但我的策略是:
fb12345://占位符,直到Brett做得更好
if ([url.scheme isEqualToString:facebookScheme] && ![url.host isEqualToString:@"placeholder-until-Brett-does-something-bette"]) {
return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
}
你还必须接受这样一个事实,即可能会有第三方开始使用该URL启动你的应用程序,或者你可能有一些活跃用户没有将应用程序更新为非黑客版本。由于风险太高,您可能永远无法清理URL处理程序或指向除Facebook URL以外的任何内容。Facebook的iOS SDK是开源的,因此您可以实际逐步查看代码并查看发生了什么。我在我的应用程序上使用了一个虚拟URL
fb12345://noop
,发现a)有很多测试正在进行,B)它们似乎都失败了,没有副作用
您的想法可能会有所不同,但我的策略是:
fb12345://占位符,直到Brett做得更好
if ([url.scheme isEqualToString:facebookScheme] && ![url.host isEqualToString:@"placeholder-until-Brett-does-something-bette"]) {
return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
}
你还必须接受这样一个事实,即可能会有第三方开始使用该URL启动你的应用程序,或者你可能有一些活跃用户没有将应用程序更新为非黑客版本。由于风险太高,您可能永远无法清理URL处理程序或指向除Facebook URL以外的任何内容。Facebook的iOS SDK是开源的,因此您可以实际逐步查看代码并查看发生了什么。我在我的应用程序上使用了一个虚拟URL
fb12345://noop
,发现a)有很多测试正在进行,B)它们似乎都失败了,没有副作用
您的想法可能会有所不同,但我的策略是:
fb12345://占位符,直到Brett做得更好