• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

iOS 9:如何在不出现错误257的情况下访问UIApplicationLaunchOptionsURLKey?

IOS 来源:Nili 3次浏览

我的didFinishLaunchingWithOptions方法存储UIApplicationLaunchOptionsURLKey的文件名并尝试打开它。iOS 9:如何在不出现错误257的情况下访问UIApplicationLaunchOptionsURLKey?

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    NSURL* url = [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey]; 
    NSError* err; 
    if ([url checkResourcesIsReachableAndReturnError:&err]) 
    { 
     ... 
    } 
} 

对于iOS 8,此代码正常工作。我的应用程序被启动,因为某些其他应用程序中选择“打开”我的应用程序,但适用于iOS 9这个代码不工作,我也得到

ERR = NSCocoaErrorDomain:代码257:“文件‘XXX’无法打开 ,因为您无权查看它。“

“的操作无法完成操作不允许”

非常重要的注意事项:当我的应用程序被关闭,而用户试图从另一个应用程序打开文件这只发生。我发现在UIApplicationLaunchOptionsURLKey中发送的文件确实与我的应用程序不在同一个沙箱中。如果它没有关闭,只是最小化,所有的行为都很好,因为UIApplicationLaunchOptionsURLKey在同一个沙箱中。

===========解决方案如下:

这是在IOS 9的β3的问题,即在测试解决4.

didFinishLaunchingWithOptions方法用在,这是在不同的应用程序的空间UIApplicationLaunchOptionsURLKey文件路径触发,因此它被沙盒和iPhone应用程序无法访问它。

无论如何,苹果现在解决了这个问题。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)