iOS 11 獲取手機已安裝APP列表,獲取已安裝APP的bundleID

iOS11之前用私有API 可以獲取設備已安裝的app

+ (void)installedApplications {
    Class lsawsc = objc_getClass("LSApplicationWorkspace");
    NSObject* workspace = [lsawsc performSelector:NSSelectorFromString(@"defaultWorkspace")];
    NSArray *apps = [workspace performSelector:NSSelectorFromString(@"allInstalledApplications")];
    Class LSApplicationProxy_class = objc_getClass("LSApplicationProxy");
    for (int i = 0; i < apps.count; i++) {
        NSObject *temp = apps[i];
        if ([temp isKindOfClass:LSApplicationProxy_class]) {
            NSString *appBundleId = [temp performSelector:NSSelectorFromString(@"applicationIdentifier")];
            NSString *appName = [temp performSelector:NSSelectorFromString(@"localizedName")];
            NSString * type = [temp performSelector:NSSelectorFromString(@"applicationType")];
            NSString * shortVersionString = [temp performSelector:NSSelectorFromString(@"shortVersionString")];
            NSString * containerURL = [[temp performSelector:NSSelectorFromString(@"containerURL")] path];
            NSString * resourcesDirectoryURL = [[temp performSelector:NSSelectorFromString(@"resourcesDirectoryURL")] path];
            NSString * bundleExecutable = [temp performSelector:NSSelectorFromString(@"bundleExecutable")];
            NSLog(@"應用類型: %@", type);
            NSLog(@"BundleId: %@", appBundleId);
            NSLog(@"Name: %@", appName);
            NSLog(@"Version: %@", shortVersionString);
            NSLog(@"沙盒路徑: %@", containerURL);
            NSLog(@"App包路徑: %@", resourcesDirectoryURL);
            NSLog(@"TargetName: %@", bundleExecutable);
            NSLog(@"=============================================");
        }
    }
}

iOS 11以后就不能直接獲取設備已安裝的APP了,所以可以采用其他辦法,思路如下:

1.先獲取常用的APP的bundleID
2.檢查bundleID在設備上是否存在.

第一:獲取常用的APP的bundleID的幾種方式

一 : 解壓IPA包

1.把.ipa文件的后綴重命名為.zip, 解壓.zip壓縮包炕吸,會有一個Payload 文件夾. 點開Payload文件夾會有一個.app的文件.
2.右鍵點擊.app文件 -> Show Package content. 將會打開新的文件夾包含很多文件.
3.用Xcode打開文件info.plist绞幌,就可以找到bundle id, 類似 com…game

二 : 用Mac自帶工具Console

1.用數(shù)據(jù)線連接手機和Mac.
2.打開Mac 應用Console.
3.在左側欄Devices中弥激,選擇你的設備
4.運行你要查看的APP.
5.在搜索欄里面輸入App的名字.
6.你可以看到在process列中找到SpringBoard秘案, Message列中找到 Bootstrapping

三 : 在APP下載鏈接里查看

1.打開Mac的瀏覽器,搜索app在App Store中iTunes的鏈接. 比如:
https://itunes.apple.com/us/app/microsoft-outlook/id951937596?mt=8.
2.拷貝數(shù)字在URL中id的后面, 比如951937596.
3.打開瀏覽器
https://itunes.apple.com/lookup?id=<Number copied in step 2>.
比如,
https://itunes.apple.com/lookup?id=951937596.
4.當提示下載text file文本文件, 保存文件. 默認名字是1.txt.
5.打開1.txt文件悬蔽,搜索bundleId. 比如:
“bundleId”:“com.microsoft.Office.Outlook”

txt文件

四 : idevice 命令查找
1.首先安裝brew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
安裝brew

2.安裝ideviceinstaller

brew install ideviceinstaller
安裝ideviceinstaller

3.連接手機,執(zhí)行以下命令

idevice_id -l
ideviceinstaller -l

第二:檢查bundleID是否在設備存在

可以讓專門運營的同事查找bundleID,然后上傳后端,然后每次啟動循環(huán)查詢,存在就可以存下

- (BOOL)isInstalled:(NSString *)bundleId {
    NSBundle *container = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/MobileContainerManager.framework"];
    if ([container load]) {
        Class appContainer = NSClassFromString(@"MCMAppContainer");
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
        id container = [appContainer performSelector:@selector(containerWithIdentifier:error:) withObject:bundleId withObject:nil];
#pragma clang diagnostic pop
        NSLog(@"%@", [container performSelector:@selector(identifier)]);
        if (container) {
            return YES;
        } else {
            return NO;
        }
    }
    return NO;
}
本人常用APP列表
com.tencent.mqq, "8.4.17.638", "QQ"
com.quliao.swiftDemo, "1", "swiftDemo"
com.jihc.UICollectionViewDemo, "1", "UICollectionViewDemo"
com.nsmetro.shengjingtong, "2020102901", "盛京通"
com.apple.AppStoreConnect, "994", "Connect"
com.wemomo.momoappdemo1, "8.30.2.12", "MOMO陌陌"
com.tencent.smoba, "0013", "王者榮耀"
cn.10086.app, "26", "中國移動"
com.burbn.instagram, "260712851", "Instagram"
com.maxin.MeiTuanWaiMai, "1", "MeiTuanWaiMai"
com.changba.ktv, "10.4.0", "唱吧"
com.qiyi.iphone, "20201126192700", "愛奇藝"
com.mytest.launchtest, "1", "ZYGLaunchIntroductionDemo"
ck.com.CKMeiTuanShopViewyp, "1", "CKMeiTuanShopView"
com.itcast.boxuegu, "4.14.5.0", "博學谷"
com.yaymedialabs.putong, "4.4.0.0", "探探"
com.innovation.driftbottle, "0", "遇見漂流瓶"
com.gx.DragPhotoDemo, "1", "DragPhotoDemo"
com.slp.quarrelno1, "4", "麻豆視頻"
com.ss.iphone.ugc.Aweme, "138014", "抖音"
com.tencent.QQKSong, "666", "全民K歌"
CYL.CYLTabBarController, "1", "CYLTabBarController"
D-Code.CustomTabbarViewController, "1", "CustomTabbarViewController"
com.ucweb.iphone.lowversion, "13.1.8.1408", "UC瀏覽器"
com.quliao.Tease, "1", "會撩"
com.apple.TestFlight, "25", "TestFlight"
com.dapengCompany.DPEduProject, "3.0", "大鵬教育"
cn.gov.tax.its, "20201122212754", "個人所得稅"
com.liguangming.Shadowrocket, "939", "Shadowrocket"
com.alipay.iphoneclient, "10.2.8.6010", "支付寶"
com.chinaunicom.mobilebusiness, "207", "手機營業(yè)廳"
com.liutao.rider, "20201110", "柳淘騎手端"
com.twototwo.massage, "81", "按個摩"
ck.com.CKMeiTuanShopView, "1", "CKMeiTuanShopView"
com.tencent.xin, "7.0.18.32", "微信"
cn.xiaochuankeji.tieba, "20201130.171000", "最右"
com.tencent.QQMusic, "20020", "QQ音樂"
tanzhenios2019.TZImagePickerController.www, "1", "TZImagePickerController"
com.liutao.business, "1", "柳淘商家端"
com.youku.YouKu, "2014146520", "優(yōu)酷"
rn.notes.best, "11122019", "愛思極速版"
com.netease.cloudmusic, "1826", "網(wǎng)易云音樂"
com.liutao.user, "1", "柳淘"
com.soulapp.cn, "26888", "SOUL"
cn.ishengsheng.xingjiabi, "2020.1207.23", "他趣"
com.huobanlvxing.www, "95", "伙伴旅行助手"
com.quliao.getBundleId, "1", "getBundleId"
com.weiyingvideo.videoline, "1.2", "抖麗實拍"
com.meitu.myxj, "22950", "美顏相機"
com.baidu.netdisk, "11.3.1.2", "百度網(wǎng)盤"
com.tencent.smobagamehelper, "46140220120301", "王者營地"
WZF.ZFShoppingCart, "1", "ZFShoppingCart"
Jimmywu.JimmyLayout, "1", "JimmyLayout"
developer.apple.wwdc-Release, "831.2.7", "Developer"
limap.StretchTableView, "1", "StretchTableView"
com.baidu.map, "15.2.5.1", "百度地圖"
com.tencent.live4iphone, "25342", "騰訊視頻"
appledeiMac:~ apple$ idevice_id -l
00008020-00150C8911B8003A
appledeiMac:~ apple$ ideviceinstaller -l
CFBundleIdentifier, CFBundleVersion, CFBundleDisplayName
com.bwton.TJMetro, "1.1", "天津地鐵"
com.meitu.mtxx, "28450", "美圖秀秀"
com.aliyun.wstudio.amc.AliyunMobileApp, "11161142", "阿里云"
com.tencent.ioshlddz, "7.072.001", "歡樂斗地主"
com.ss.iphone.article.Video, "5.2.6.13", "西瓜視頻"
com.cib.cibmb, "3", "興業(yè)銀行"
com.bocforms.MobileLife, "5", "繽紛生活"
com.cmbchina.MPBBank, "9003", "招商銀行"
com.sym.vjietu2, "380", "微截圖2"
com.tongcheng.iphone, "10.0.8.5", "同程旅行"
com.unionpay.chsp, "933", "云閃付"
com.szzc.szzc, "18", "神州租車"
com.jd.jinrong, "618", "京東金融"
com.xiaomi.mihome, "5.5.2.102", "米家"
com.sina.weibo, "49890", "微博"
com.ruubypay.yitongxing, "4.5.0.51", "億通行"
cn.10086.app, "26", "中國移動"
com.hpbr.bosszhipin, "1606877547", "BOSS直聘"
com.wuba.zhuanzhuan, "100", "轉轉"
com.cebbank.xyk, "5.1.2.1", "陽光惠生活"
com.iBoxPay.CashBox, "5.0.6.202010211630", "錢盒商戶通"
com.caocao.customer, "402", "曹操出行"
com.ccb.ccbDemo, "20201201", "中國建設銀行"
com.qiyi.iphone, "20201126192700", "愛奇藝"
com.cjboomMinesweeper.www, "87", "MinesweeperX"
com.apple.TestFlight, "25", "TestFlight"
com.netease.mailmaster, "1689", "網(wǎng)易郵箱大師"
com.nsmetro.shengjingtong, "2020102901", "盛京通"
tv.douyu.live, "635", "斗魚"
com.meituan.imeituan, "74739", "美團"
com.360buy.jdmobile, "9.3.0", "京東"
com.dapengCompany.DPEduProject, "3.0", "大鵬教育"
com.yueyou.cyreader, "4020008", "七貓小說"
cn.gov.tax.its, "20201122212754", "個人所得稅"
com.chinaunicom.mobilebusiness, "12.0", "手機營業(yè)廳"
com.xunmeng.pinduoduo, "2011300014", "拼多多"
com.baidu.map, "15.2.5.1", "百度地圖"
com.icbc.elife, "1.1.0", "工銀e生活"
com.lemon.lv, "4.5.1.01", "剪映"
com.csair.MBP, "202011130011", "南方航空"
com.taobao.taobao4iphone, "20018153", "手機淘寶"
com.huikaiyundian.www, "2", "匯開優(yōu)店"
com.tencent.ww, "55131", "企業(yè)微信"
com.huolala.user, "3", "貨拉拉"
com.rgbim.friendsim, "2019091106", "友群"
com.boc.BOCMBCI, "3.0.6", "中國銀行"
com.neusoft.gov.syzhyb, "1", "沈陽智慧醫(yī)保"
com.bytedance.ee.lark, "437", "飛書"
com.apple.AppStoreConnect, "994", "Connect"
com.wondertek.hecmccmobile, "5.8.7.8", "咪咕視頻"
com.xiachufang.lanfan, "119", "懶飯"
net.csdn.EducationVideo, "2020.12011723", "程序員學院"
com.tencent.qqmail, "6.1.1.20", "QQ郵箱"
com.quark.browser, "4.5.3.1108", "夸克"
com.zhihu.ios, "2918", "知乎"
com.youku.YouKu, "2014146520", "優(yōu)酷"
com.ifmoc.DouKouYueDu, "1.16.1.0", "飯團追書"
com.meituan.banma.crowdsource, "712", "美團眾包"
com.blueberry.Gmu, "2", "積目"
com.burbn.instagram, "257196069", "Instagram"
com.kugou.kugou1002, "10.3.6.12", "酷狗音樂"
com.jianshu.Hugo, "2011141224", "簡書"
com.tencent.microvision, "773", "微視"
rn.notes.best, "11122019", "愛思極速版"
com.hrtpayment.JiSuAppstore, "7", "會員寶秒到版"
com.taobao.travel, "9.6.5.105", "飛豬旅行"
com.tencent.smobagamehelper, "46140220120301", "王者營地"
com.tencent.live4iphone, "25342", "騰訊視頻"
com.taofang.iphone, "42742228", "58同城"
com.taobao.fleamarket, "1125994", "閑魚"
com.netease.cloudmusic, "1898", "網(wǎng)易云音樂"
com.tencent.QQKSong, "666", "全民K歌"
com.tencent.mqq, "8.4.17.638", "QQ"
com.apple.clips, "4990", "可立拍"
com.gdb.mobilegdb, "6.0.0.6", "廣發(fā)銀行"
cn.com.zhaopin.zhilianzhaopin, "7.9.70.5", "智聯(lián)招聘"
com.BetterJ.www, "436", "螞蟻加速器"
com.ucweb.iphone.lowversion, "13.1.8.1408", "UC瀏覽器"
com.rrds.rrdianshi, "41712", "人人視頻"
com.BankOfShangHai.1.0, "6.2.1", "上海銀行"
com.light.beauty, "3.1.8.16", "輕顏相機"
CtClient, "1", "電信營業(yè)廳"
me.ele.ios.eleme, "14127542", "餓了么"
com.liulishuo.engzo2, "12811", "流利說·英語"
com.meanssoft.sygjj, "1", "沈陽公積金"
com.cmbchina.cmblife, "11507", "掌上生活"
cn.missfresh.application, "9.8.98.4", "每日優(yōu)鮮"
cn.w3cschool.ios, "0.4.1", "編程獅"
com.tmri.12123, "365", "交管12123"
com.cebbank.ebank, "7.1.41", "光大銀行"
com.ss.iphone.ugc.Aweme, "138014", "抖音"
com.liutao.user, "1", "柳淘"
com.tplink.cloudrouter, "40314", "TP-LINK"
com.youdianguanjia.www, "1", "匯開優(yōu)店管家"
com.apple.iMovie, "4990", "iMovie 剪輯"
com.liutao.business, "1", "柳淘商家端"
com.yytingting.iting, "1012", "懶人聽書"
com.gemd.iting, "930", "喜馬拉雅"
com.Foxtravel.assistant, "7", "Fox Travel Assistant"
com.Mango.MangoOnline, "5.12.3.0", "芒果在線"
com.QianHaiLDY.zuche, "1", "聯(lián)動云租車"
com.alipay.iphoneclient, "10.2.8.6010", "支付寶"
com.innovation.driftbottle, "0", "遇見漂流瓶"
com.seblong.app.IDream, "20.11.26", "蝸牛睡眠"
cn.com.bmac.iosapp, "4.0.0.1", "北京一卡通"
com.WisdomTheTram.MuSen, "02", "智慧電車"
cn.12306.rails12306, "1", "鐵路12306"
com.tencent.smoba, "0013", "王者榮耀"
youdao.trans, "1", "有道翻譯官"
com.xiaomi.youpin, "4.6.1.2", "小米有品"
com.douban.frodo, "06480001", "豆瓣"
com.cmbc.mobilePhone, "12", "民生信用卡"
com.black.unique, "2020112401", "全球購騎士特權"
com.alibaba.wireless, "14158577", "阿里巴巴"
developer.apple.wwdc-Release, "831.2.7", "Developer"
com.baidu.netdisk, "11.3.1.2", "百度網(wǎng)盤"
com.kingsoft.www.office.wpsoffice, "11.2.089747", "WPS Office"
com.liutao.rider, "20201110", "柳淘騎手端"
com.ccbfintech.gasp.liaoningprovince, "1", "遼事通"
com.xiaojukeji.didi, "6.0.20.912030001", "滴滴出行"
com.tencent.xin, "7.0.18.32", "微信"
cn.ishengsheng.plus, "2020.1202.14", "他趣Plus"
com.citicbank.creditspace, "7.1.0.2", "動卡空間"
com.cutt.app586432, "28958", "通遼團"
me.ele.ios.LPDCrowdsourceAppStore, "7401", "蜂鳥眾包"
com.tencent.cmocmna, "97", "騰訊手游加速器"
com.taobao.tmall, "14127776", "手機天貓"
daojiasuyun58, "5.10.0.0", "快狗打" 
com.apple.store.Jolly, "5.9.0.570", "Apple Store"
com.tencent.mqqsecure, "2900", "騰訊手機管家"
com.yinxiang.iPhone, "373820", "印象筆記"
com.cgb.creditcard.iphone, "11171401", "發(fā)現(xiàn)精彩"
com.xiachufang.recipe, "330", "下廚房"
io.fmc.fenmiaoCompany, "1", "Openinstall"
com.soulapp.cn, "26888", "SOUL"
com.cib.xyk, "3", "好興動"
com.gotokeep.keep, "26332", "Keep"

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末载迄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子悲靴,更是在濱河造成了極大的恐慌臭胜,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件癞尚,死亡現(xiàn)場離奇詭異耸三,居然都是意外死亡,警方通過查閱死者的電腦和手機浇揩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門仪壮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人胳徽,你說我怎么就攤上這事积锅。” “怎么了养盗?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵缚陷,是天一觀的道長。 經常有香客問我爪瓜,道長蹬跃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任铆铆,我火速辦了婚禮蝶缀,結果婚禮上,老公的妹妹穿的比我還像新娘薄货。我一直安慰自己翁都,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布谅猾。 她就那樣靜靜地躺著柄慰,像睡著了一般鳍悠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上坐搔,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天藏研,我揣著相機與錄音,去河邊找鬼概行。 笑死蠢挡,一個胖子當著我的面吹牛,可吹牛的內容都是我干的凳忙。 我是一名探鬼主播业踏,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼涧卵!你這毒婦竟也來了勤家?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤柳恐,失蹤者是張志新(化名)和其女友劉穎伐脖,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乐设,經...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡晓殊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了伤提。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巫俺。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖肿男,靈堂內的尸體忽然破棺而出介汹,到底是詐尸還是另有隱情,我是刑警寧澤舶沛,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布嘹承,位于F島的核電站,受9級特大地震影響如庭,放射性物質發(fā)生泄漏叹卷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一坪它、第九天 我趴在偏房一處隱蔽的房頂上張望骤竹。 院中可真熱鬧,春花似錦往毡、人聲如沸蒙揣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽懒震。三九已至罩息,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間个扰,已是汗流浹背瓷炮。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留递宅,地道東北人崭别。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像恐锣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子舞痰,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內容