2014-05-05 51 views
0

假設應用程序支持由第三方製作的可加載軟件包。有一個主要類的協議,所以應用程序知道如何說話捆綁。軟件包可以從服務器下載並在運行時動態添加。驗證可加載軟件包的最佳方式

問題是我需要一種方法來驗證bundle可執行文件不會損害應用程序。作爲一個例子,我不想讓bundle能夠顯示UIAlertView。所以即使我檢查某個包不支持UIKit,一些第三方仍然可以通過嘗試使用NSClassFromString創建它來顯示UIAlertView。

所以這個想法是在編譯之前檢查源代碼並驗證它沒有像UIAlertView這樣的關鍵字作爲例子。如果腳本是私人的,第三方不能跳過它也是很好的。

有沒有正確的方法來做到這一點?由於

+3

iOS許可條款聲明:「3.3.2應用程序可能無法下載或安裝可執行代碼。」 – Gruntcakes

+0

@MartinH感謝您的評論,如果這不是App Store或企業應用程序,但只是教育測試應用程序僅適用於模擬器?還有一個問題:這對於Mac應用程序來說是否一樣? – Ezeki

+1

然後,你可以做你想做的事。許可條款與iOS相關,我不知道Mac條款是什麼。但是,如果它只有模擬器,爲什麼會擔心會損害應用程序,無論如何,無論如何都會造成傷害。 – Gruntcakes

回答

1

你不會是能夠釋放這樣的應用程序到應用程序商店,因爲iOS的許可條款狀態:

「3.3.2應用程序可能無法下載或安裝可執行代碼。」

所以你只能使用越獄設備或企業應用。