gpt4 book ai didi

ios - 自定义 URL 方案 IOS

转载 作者:行者123 更新时间:2023-12-03 16:52:20 24 4
gpt4 key购买 nike

我有一个应用程序,它将从我的其他应用程序启动。但我的目的是启动我的应用程序并对 URL 不执行任何操作。它只是一种使用户能够在应用程序之间切换而无需任何数据交换的方式。

我是否需要实现handleOpenURL或类似的方法来处理URL以过滤掉不需要的命令,例如苹果在Secure Coding guidelines中提到的命令,或者考虑到我没有对 URL 执行任何操作,仅在 info.plist 中指定方案(以及 URL 标识符和作为查看者的文档角色)就足够安全了?

最佳答案

是的,您需要实现 application:handleOpenURL:
application:openURL:sourceApplication:annotation:
,并返回 YES。根据 Apple 文档,第二种方法是首选。

-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
return YES;
}

您还可以检查方案、源应用程序或其他条件,并相应地返回 YES 或 NO。如果您有多个应用程序进行通信,您可以检查源应用程序或使用注释传递数据。

NSString* myappScheme = @"anindya";  // or even better read it from your plist
-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
return [url.scheme isEqualToString: myappScheme];
}

就安全性而言,您实际上并没有对 URL 执行任何其他操作,因此没有问题。 Apple 在这方面的建议意味着,如果您从其他应用程序获取 URL,则必须仔细解析它并假设它可能是恶意的。如果您还检查源应用程序,则可以确保仅从您自己的应用程序获取数据。

关于ios - 自定义 URL 方案 IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25549804/

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