對於我們的客戶之一,我們開發了OTA應用商店進行分銷。iOS OTA安裝不註冊自定義URL方案
爲了使檢測是否安裝了應用程序,在每一個我寫的應用程序中,我添加了兩個自定義URL方案:一個方案,這僅僅是應用程序ID,和一個與應用程序ID和版本(均與.
替換-
);例如對於com.mycompany.app,版本1.2.0,例如com-mycompany-app
和com-mycompany-app-1-2-0
。
然後,在我們的「應用程序商店」中,我只是使用[[UIApplication sharedApplication] canOpenUrl:]
來確定應用程序是否已安裝或最新版本,如果是,請用「打開」按鈕替換「安裝」按鈕。
通過XCode安裝應用程序時,效果很好。但是,當我通過我的「應用程序商店」安裝相同的應用程序OTA時,canOpenUrl:
調用始終返回NO。要查看它是否是緩存,我嘗試在OTA安裝完成後重新啓動「應用商店」應用程序,但獲得相同的結果。
這是我的清單plist文件的問題嗎?在屬於目標的Info.plist中,顯然存在自定義URL Scheme的東西,但它不在清單中。然而,我想它只使用清單來啓動初始安裝......在實際安裝過程中不應該使用Info.plist來註冊這些類型的東西?還有什麼我失蹤?
謝謝!
編輯:我使用自定義構建腳本實際創建正在使用OTA分佈.ipa
和.plist
文件。我嘗試使用iPhone Configuration Utility
直接安裝IPA,並且我的應用商店能夠將這些URL識別爲可打開。我能想到的唯一可能的事情是,我用來下載&安裝的plist需要對這些自定義URL方案有某種參考,或者它實際上是Apple OTA框架中的一個合法錯誤。
您是否在自定義構建腳本中驗證了您生成.plist的位置,它實際上包含了自定義方案? – Shaun
是的,爲了更徹底,我將所有URL方案的東西都加入到清單plist中。相同的結果。 – cscott530
我只是嘗試在XCode中存檔,並且也使用了企業分發步驟。我手動將它放在我的應用商店服務器上,並獲得相同的結果。 – cscott530