作爲我們移動設備管理功能的一部分,我們爲客戶提供私人appstore。管理員可以將ipa文件上傳到我們的服務器,我們將允許受管設備直接安裝這些企業應用程序。iOS - 爲私人應用商店驗證企業配置文件
當管理員上傳ipa時,我們要做一些驗證,如果ipa不符合要求,我們會立即拒絕。具體如下:
- 如果ipa是由企業證書(比如appstore證書)以外的證書籤名的,我們要拒絕它;
- 如果ipa由已過期的證書籤名,我們希望拒絕它;
- 如果ipa由已被吊銷的證書籤署,我們想要拒絕它。
我有以下問題:
- 對於要求#1,我已經注意到,企業必須建立在IPA文件
embedded.mobileprovision
,但AppStore的建立沒有文件。是否足以檢查該文件的存在以確定上傳的ipa是否是企業ipa,還是有更準確的方法來識別非企業ipa? - 對於需求#2,它看起來像
embedded.mobileprovision
中有一個字段ExpirationDate
,我可以檢查它的值來確定到期日期? - 據我所知,上面#1和#2是可能的,但#3將無法驗證,直到用戶實際嘗試安裝ipa。也就是說,當管理員上傳ipa時,我無法捕捉到錯誤,但是我會允許這樣做,並且用戶將得到無法安裝該應用程序的錯誤。
在此先感謝。
'[[一個NSBundle mainBundle] pathForResource:@ 「embedded.mobileprovision」 ofType:無]' http://stackoverflow.com/questions/17584426/check-if-app-is-ad-hocdevapp-商店集結在運行時。看到類似的問題。你可以得到一些想法 – aelam
@aelam謝謝你的回覆。糾正我,如果我錯了,它看起來像線程是關於檢查應用程序代碼中的構建類型。在我的情況下,我們不擁有應用程序(因此我們無法訪問其源代碼),管理員上傳他們自己的應用程序 - 並且應用程序已簽名,因此我們無法將代碼注入到他們的應用程序中。我們掌握的僅僅是一個ipa文件,我想要一種直接從這個ipa獲取信息的方式。 – SeaJelly