項目背景:
通過研究試客小兵/錢咖 此類試玩平臺,可以確定的是應(yīng)用使用了蘋果沒有正式公開的私有API(此類API主要為蘋果內(nèi)部使用初肉,app中使用不被審核上架,但是可以應(yīng)用在企業(yè)級開發(fā)中)可以通過dump頭文件獲得但是沒有相關(guān)使用文檔說明饰躲,通過私有API可以獲取手機中安裝的全部應(yīng)用的一些信息牙咏,例如應(yīng)用的包名/名稱/版本/開發(fā)者等隱私信息
通過研究私有API突破三個技術(shù)點
1.檢測手機中是否安裝所選app并進(jìn)行指定跳轉(zhuǎn),以下方式可選
?safari中實現(xiàn)此功能
?原生應(yīng)用內(nèi)可以通過APP對應(yīng)的打開協(xié)議URL Schemes判斷是否安裝此應(yīng)用并進(jìn)行跳轉(zhuǎn)嘹裂,URL Schemes通過廣告主獲取妄壶,此方法先用canOpenURL:方法先判斷能否打開這個url,然后再用openURL方法打開寄狼,但是iOS9的時候蘋果加強了權(quán)限,只有在info.plist文件中加入了URL Schemes白名單才能使用canOpenURL:該白名單的上限是50個泊愧。就是說我們最多只能使用canOpenURL:方法判斷50個URL Schemes狡逢。
?ios9后蘋果發(fā)布了新的API 通用鏈接(Universal Links)
?通過蘋果私有API可以獲取手機全部應(yīng)用包名通過對比包名查看手機中是否安裝此應(yīng)用,若安裝則通過私有方法借助包名跳轉(zhuǎn)指定app拼卵。
2.App Store下載應(yīng)用進(jìn)度
通過私有API獲取MobileCoreServices類下的installState方法監(jiān)測到了App Store下載進(jìn)度情況
3.應(yīng)用下載完成后檢測是否被打開
目前獲取手機運行程序進(jìn)程已被蘋果禁用奢浑,現(xiàn)在還沒找到解決方法,但可以通過其他方法替代腋腮,比如當(dāng)檢測到app下載完成后程序通過私用方法自動打開應(yīng)用 或者彈窗提示用戶點擊打開app雀彼,在設(shè)置一個定時器指定一個時間段結(jié)束后給用戶獎勵壤蚜。
其他技術(shù)...