web-dev-qa-db-ja.com

iOS8にインストールされているすべてのアプリケーションのリストを取得する

IOS8でプログラムによってiPhoneデバイスにインストールされているすべてのアプリケーションのリストを取得する方法。

プライベートAPIを使用してソリューションを知っている人がいる場合(ただし、デバイスはジェイルブレイクされていません)、それは問題ありません。

ITunes Search APIを使用して可能であることは知っていますが、iTunesからインストールされたアプリケーションのみが提供されます。 iTunesからのものであれ、ユーザーが開発したものであれ、システムアプリであれ、デバイス上のすべてのアプリケーションが必要です。

13
Mehul Thakkar

これを試して。それは動作します、私はテストしました。

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

上記のコードをXcode7.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]);
6
Stalin Pusparaj