以编程方式查找应用程序的URL
我需要从我自己的应用程序中启动另一个应用程序,但我没有它的URL。 所以我的问题是:有没有办法find另一个应用程序的URL基于它的包标识符或trackid编程?
不,没有办法以编程方式确定应用程序的自定义URLscheme。 一个应用程序的自定义scheme,如果有的话,可以完全无关你可能了解的任何应用程序。
确定scheme的唯一方法是访问应用程序的Info.plist文件,除非您在越狱设备上,否则这不能在运行时完成。
如果您只想启动其他应用程序,则可以使用ios private api。
@interface PrivateApi_LSApplicationWorkspace - (bool)openApplicationWithBundleID:(id)arg1; //LSApplicationWorkspace - (NSArray*)privateURLSchemes; //LSApplicationWorkspace - (NSArray*)publicURLSchemes; @end PrivateApi_LSApplicationWorkspace* _workspace; _workspace = [NSClassFromString(@"LSApplicationWorkspace") new]; [_workspace openApplicationWithBundleID:bundleIdentifier]; NSArray* privateUrls = [_workspace privateURLSchemes]; NSArray* publicUrls = [_workspace publicURLSchemes];