2014-09-04 65 views
9

有沒有辦法獲得設備上所有應用程序的所有網址方案?他們必須有一箇中央存儲庫,也許是一個plist?獲取設備上的所有iOS網址方案

+0

http://stackoverflow.com/questions/5667920/iphone-apps-that-supports-url-schema - dup? – cDima 2014-09-04 18:17:38

+0

我不認爲這是一個重複,我想在我的應用程序的設備上的所有可用的網址計劃生成一個列表。該應用程序是一種銷售工具,我們正試圖將其鏈接到我們構建的另外兩個應用程序 - 但有些人可能沒有安裝它們。該帖子只是尋找其他應用程序的網址計劃,如Facebook – PruitIgoe 2014-09-04 18:30:57

+1

爲什麼不檢查是否可以在做之前打開該網址? '[[UIApplication sharedApplication] canOpenURL:@「」];' – danielbeard 2014-09-04 18:46:51

回答

0

如果是編程式,我不知道。

這裏回答您問題相關的(不完全)

Find out an app's URL programmatically

但手動,您的裝置 -

是...

有一種方式來獲得通過此過程設備上所有應用程序的url方案。在你的系統上安裝ifunbox。連接您的設備,打開用戶應用程序並打開您正在嘗試查找網址方案的應用程序。你會發現應用程序的主文件夾,在該文件夾中,你會發現該應用程序的info.plist。打開info.plist並檢查最後一列中的url方案地址。

它爲我工作。你會發現一些註冊了url方案的應用程序的url方案。

這裏是一些應用程序的URL方案地址的一些鏈接(可能節省您的時間)。

1. http://handleopenurl.com/ 2. http://wiki.akosma.com/IPhone_URL_Schemes

+0

我需要以編程的方式執行它。構建企業應用程序並查看是否安裝了一些相關的應用程序。 – PruitIgoe 2014-09-04 18:31:27

+0

你怎麼找到相關的應用程序?你的意思是基於URL方案或功能。我很困惑的應用程序或類似密碼的URL方案。你怎麼能找到基於url方案的應用程序的功能? @PruitIgoe – Avis 2014-09-04 18:35:18

+0

這兩個鏈接都被打破了 – 2017-04-21 21:29:16

0

這不是正式由蘋果API不越獄

一種解決方法可能是跳車怎麼知道哪些應用推出,並支持URL方案支持: http://danielamitay.com/blog/2011/2/16/how-to-detect-installed-ios-apps

+0

這是更接近,但你必須知道應用程序的url方案或看到設備上運行的應用程序(用戶不關閉它,但它坐落在後臺)。我已經知道我正在尋找的應用程序的url方案(它們是我們已經控制的應用程序),但我只想看看我是否可以通過編程來實現。 – PruitIgoe 2014-09-04 23:48:20

+1

你無法編程實現tyat查找的原因是它是蘋果公司實現的一項安全功能,主要是針對每個應用程序的沙箱。如果所有應用程序都知道您安裝了其他應用程序(方案),則會被視爲風險,例如將您指定爲銀行,PayPal或密碼應用程序。 – cDima 2014-09-06 04:20:40

0

我會在這裏隨心所欲地假設你正在嘗試做以下事情:

  1. 你在你的應用程序中有PDF。
  2. 你想檢查(編程)看看是否有其他應用程序可以打開PDF文件。
  3. 如果是這樣,請使用該應用程序打開PDF。

如果你想這樣做,你不必手動做第2步。事實上,你不能。但是,您可以使用UIDocumentInteractionController類來呈現兼容應用程序的菜單。

這是您可以「檢查」安裝在手機上的其他應用程序的唯一方法。至少在iOS 7和以下。

2

是的,你可以使用私人api。首先

@interface PrivateApi_LSApplicationWorkspace 
- (NSArray*)privateURLSchemes; 
- (NSArray*)publicURLSchemes; 
@end 

然後使用它:

PrivateApi_LSApplicationWorkspace* _workspace; 
_workspace = [NSClassFromString(@"LSApplicationWorkspace") new]; 
- (NSArray*)privateURLSchemes 
{ 
    return [_workspace privateURLSchemes]; 
} 

- (NSArray*)publicURLSchemes 
{ 
    return [_workspace publicURLSchemes]; 
} 

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

+0

它不適用於iOS 11 – 2018-01-17 12:40:11

9

添加我的解決方案,以防有人仍在尋找。花了一些時間研究答案後,我完成了@ danielbeard's和@Avis'解決方案之間的混合。

因爲我知道什麼應用我要找:

  1. 使用我的電腦
  2. 將應用程序複製到我的桌面從iTunes下載的.ipa
  3. 重命名爲* .zip文件
  4. 提取* .zip
  5. 打開'有效負載'文件夾
  6. 右鍵單擊應用程序並選擇'顯示包裝內容'
  7. 我然後雙擊 '的Info.plist' 文件(該文件的Xcode應該再打開)
  8. 然後選中 'URL類型'> '項目0'> 'URL方案'

使用該信息然後我將它添加到一組應用程序中來檢查(做@danielbeard建議的)。

希望這可以幫助未來的人。

+0

正確的不一定位於「URL類型」中的項目0中 – shim 2016-07-28 06:03:36

+0

由於iTunes 12.7於2017年9月發佈,因此無法再通過計算機上的iTunes訪問應用程序。蘋果再一次從根本上改變了他們整個生態系統工程的重要組成部分。這應該可能會更新。 – rolinger 2017-11-04 16:56:04