2013-04-07 48 views
6

App Store評論指南說:「以任何方式或形式下載代碼的應用程序將被拒絕。」什麼樣的下載代碼違反了App Store評論指南?

我想製作一個應用程序使用挑戰 - 響應進行身份驗證。該應用程序有一套基本算法,如SHA-1,SHA-256,MD5,DES,AES等。挑戰服務器所做的包含一系列隨機排列的算法名稱和一個字符串名稱A.客戶端使用算法和挑戰指示的序列來操作字符串A,並將其作爲響應返回給服務器。

雖然我在服務器和客戶端之間傳輸的是一串字符串,但它們確實改變了我的應用程序的行爲。我應該認爲他們是一種代碼形式嗎?如果沒有,爲什麼下載shell代碼執行被Apple禁止?我的意思是,shell代碼也是一堆字符串,由運行環境解釋。本質區別在哪裏?

原諒我的英文:)

回答

7

蘋果擔心什麼和想要防止的是,通過審批程序得到應用(僞裝成良性的東西),後來改變其基本的功能。

一個極端的例子就是應用程序在用戶設備上安裝新的惡意可執行代碼後下載。

蘋果正在使用廣泛的措辭,以便能夠拒絕任何以任何方式試圖危害用戶的應用程序。不可能具體描述這種情況發生的每種技術和具體方式,所以蘋果保持措辭寬鬆。

應用程序「下載代碼」以某種形式或其他形式存在,請考慮訪問返回JSON格式響應的API的應用程序。從技術上講,這可以被視爲代碼,它可以改變應用程序行爲(哪個視圖顯示,哪些選項可以在某個視圖上可用等)。但以這種方式訪問​​API的應用肯定不會被拒絕。

從我可以從您的問題中收集的信息,聽起來您不必擔心指南中的特定條款。

+0

據我所知,代碼簽名確保沒有下載任何可執行文件(非越獄設備)。那麼我不明白Apple真正意味着哪種代碼? – MasterBeta 2013-04-07 07:43:33

+0

這是我極端的例子:我的應用程序基本上是一個「shell」代碼解釋引擎。引擎提供的所有元操作都不是惡意的。所以蘋果認可我的應用程序,並且代碼被簽署爲可在任何設備上執行。然後,我的應用程序下載一個帶有惡意目的的「shell」代碼。它被解釋,轉換爲一些可以做Apple不允許的元操作。蘋果能做些什麼? – MasterBeta 2013-04-07 07:57:25

+0

他們可以從商店中刪除您的應用程序和/或將您踢出開發人員計劃。實際上沒有任何技術方法可以阻止執行可能通過後門注入的解釋代碼。 – omz 2013-04-07 11:34:56