2014-03-13 38 views
1

我需要從我自己的應用中啓動另一個應用,但我沒有它的URL。所以我的問題是: 有沒有辦法找到另一個應用程序的URL基於它的包標識符或trackid編程?以編程方式查找應用的URL

+0

你想要什麼 「啓動另一個應用程序?」你能詳細說明嗎? – iPatel

+0

我需要從我自己的應用程序中啓動另一個應用程序 – Leonardo

+0

如果您在編譯時知道該應用程序,則應該在編譯時知道該方案 – Marc

回答

0

不,沒有辦法以編程方式確定應用程序的自定義URL方案。應用程序的自定義方案(如果有的話)可能與您對應用程序的任何其他知識完全無關。

確定方案的唯一方法是訪問應用程序的Info.plist文件,除非您在越獄設備上,否則這不能在運行時完成。

+0

謝謝您的回答。 – Leonardo

2

如果您只想啓動其他應用程序,則可以使用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]; 

檢查https://github.com/wujianguo/iOSAppsInfo

+0

它不適用於iOS 11 –

相關問題