LSCopyApplicationURLsForURL总是返回null

问题描述:

LSCopyApplicationURLsForURL总是返回null

NSArray *appUrls = (NSArray*)LSCopyApplicationURLsForURL((CFURLRef)[NSURL URLWithString:toString], kLSRolesViewer | kLSRolesEditor); 

的toString是一个包含以下文件的路径: 的/ var /文件夹/ PL/tcc5k3fd6tj2__9dprg9dm1m0000gp/T /临时文件

应该在这里是什么问题?

[NSURL URLWithString:toString] 

需要一个完整的URL字符串,包括scheme,如“file:// var/folders/...”。

使用

[NSURL fileURLWithPath:toString] 

,而不是获得与指定路径的文件URL。

另一个问题可能是您的文件名没有任何文件扩展名(例如,名为“.txt”),因为发射服务使用分机(或文件类型/创建者),以找到合适的应用程序。

+0

fileURLWithPath确实解决了这个问题,感谢您的帮助! – Elendas