[英]How to get a list of your iphone apps
我如何獲得我所有iPhone應用程序的列表(即使每個應用程序的指針都會有所幫助)?
我正在開發一個包含一些屏幕的應用程序,該屏幕應該包含我所有已安裝應用程序的列表(帶有其圖標),將來選擇啟動它的選項取決於我的其他功能。
非常感謝!
無法完成此操作,因為每個應用都已沙箱化。
如果選擇的應用程序具有自定義URL方案,則可以確定它們是否已安裝。 例如,可以使用自定義url方案“ fb://”啟動Facebook應用,但不能保證它們是唯一的,因此其他應用可以使用眾所周知的屬於另一個應用的方案。 同樣,並非所有應用程序都具有自定義URL方案,並且您需要一些主列表(需要不斷更新才能准確)以檢查每個應用程序的存在。 因此,您可能會檢測到具有自定義URL方案的知名應用程序的選擇列表,但永遠不會獲得所有這些列表。
如果您只想檢測自己的應用程序,則可以使用自定義URL方案,幾乎可以肯定的是,每個應用程序都將設置該URL方案,並對其進行檢查。
您也可以越獄設備,但是我假設您想要在應用商店中分發的應用中使用此功能,因此您將無法添加需要越獄才能工作的功能。
編輯:
這是顯示檢測到正在安裝的Facebook應用程序的示例:
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]])
{
// Handle the Facebook app being installed
}
但是請注意,這不會為您提供有關該應用程序的任何信息。 任何應用程序開發人員都可以在自己的應用程序中添加“ fb://”自定義網址方案,這會使它錯誤地檢測到它。
如果要查找iOS應用的自定義網址方案列表,只需在Google中搜索即可。
另一種解決方法是向用戶展示應用商店中的所有應用。 如果他們的設備上安裝了任何應用程序,則在iOS 7中,每個應用程序旁邊都會顯示一個名為“打開”的按鈕。
例如,您可以有一個UITableViewCell或一個顯示“ Checkout Our Apps”的UIButton。 在代碼中,您將添加它。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/sixaxisllc"]];
用您的iTunes開發人員名稱替換SixAxis LLC,當用戶單擊它時,它將啟動僅顯示您的應用程序的AppStore應用程序。 (每個價格旁邊都有開盤價或價格金額)
注意:在實際設備上而不是在模擬器中進行測試
由於沙盒環境,您所要做的就是測試是否可以打開自定義URL。 Akosma Software在他的Wiki上保留了一個受歡迎的Url列表: iPhone URL Schemes 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.