-
(NSArray *)getAllAppsFromDevice
{
//獲取手機(jī)上所有的app
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
NSObject *workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
NSArray *apps = [workspace performSelector:@selector(allInstalledApplications)];
Class LSApplicationProxy_class = objc_getClass("LSApplicationProxy");
NSMutableArray *deviceApps = [NSMutableArray new];
for (int i = 0; i < apps.count; i++) {
NSObject *temp = apps[i];
if ([temp isKindOfClass:LSApplicationProxy_class]) {
ApplicationModel *appModel = [[ApplicationModel alloc] init];
NSString *tempKey = [temp performSelector:NSSelectorFromString(@"applicationIdentifier")];
if ([tempKey containsOtherString:@"apple"]) {
continue;
}
//版本
NSString *tempVersionNumber = [temp performSelector:NSSelectorFromString(@"shortVersionString")];
appModel.appNumber = tempVersionNumber;//bundle id
NSString *tempAppkey = [temp performSelector:NSSelectorFromString(@"applicationIdentifier")];
appModel.appKey = tempAppkey;
[deviceApps addObject:appModel];
}
}
return [deviceApps copy];
}
檢測目前手機(jī)上都安裝了哪些應(yīng)用程序(非系統(tǒng)自帶)蘋果官方私有Api
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
- #import <objc/runtime.h> - (NSArray *)getAllAppsFromDevic...
- 我們常常會聽說 Objective-C 是一門動態(tài)語言,那么這個「動態(tài)」表現(xiàn)在哪呢?我想最主要的表現(xiàn)就是 Obje...