2014-11-17 45 views
13

如何獲得的iPhone設備上安裝的所有應用程序列表中的iOS 8在iOS安裝的所有應用程序的列表8

如果有人使用私人API的知道的解決方案(但設備未越獄的),那麼它的好,好。

我知道它可以使用iTunes Search API,但它只提供從iTunes安裝的應用程序。我需要設備上的所有應用程序,無論是來自iTunes還是用戶開發的應用程序或系統應用程序。

回答

21

試試這個。 它的工作原理,我測試過。

#include <objc/runtime.h> 
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace"); 
NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)]; 
NSLog(@"apps: %@", [workspace performSelector:@selector(allApplications)]); 
+0

有什麼辦法讓這隻提供一個應用程序標識符列表?作爲一個數組或類似的東西? –

+1

我看到這也適用於7.1。這是使用任何私人API,還是公開? –

+0

@AliClarke據我所知沒有這樣的方式,我們只能從上面的解決方案獲得捆綁ID :) – Roxasora

5

我重構了Xcode 7.3上面的代碼。它在iOS9上工作得很好。

#include <objc/runtime.h> 
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace"); 
SEL selector=NSSelectorFromString(@"defaultWorkspace"); 
NSObject* workspace = [LSApplicationWorkspace_class performSelector:selector]; 
SEL selectorALL = NSSelectorFromString(@"allApplications"); 
NSLog(@"apps: %@", [workspace performSelector:selectorALL]); 
相關問題