2010-07-06 136 views
32

蘋果如何批准應用程序?是否查看了實際的源代碼?蘋果是否在批准應用程序時查看實際的源代碼?

+7

有關審批程序的更多信息:http://images.pcworld.com//news/graphics/165880-appstorecomic_original.jpg – iwasrobbed 2010-07-06 14:20:51

+1

這很有趣,:D但無益。所以我應該放棄我的想法,並製作一個手電筒,在發射時崩潰? :P – jarryd 2010-07-06 17:09:01

回答

44

雖然我們沒有人可以訪問內部審查流程(似乎不斷變化),但根據人們收到的回覆可以說有幾件事可以說。

首先,Apple無法訪問您的源代碼,因此他們不會檢查它。您提交二進制文件作爲應用程序包的一部分,以及其他應用程序資源。

但是,它們確實會掃描您的應用程序的二進制文件中是否存在某些指示使用私有API的符號。許多應用程序在iPhone OS更新後開始崩潰,因爲它們使用了這些私有API,因此Apple一直在對此進行打擊。

商店裏有很多應用程序存在內存泄漏或其他性能問題。我知道我已經提交了我的應用程序版本,這些版本有微妙的泄漏(從固定版本開始),並且在審查時沒有問題。因此,他們似乎沒有進行任何類型的性能測試或性能分析。

內存泄漏導致執行審查問題的唯一原因是內存泄漏變得非常糟糕,以至於當審閱者正在測試它時應用程序崩潰。如果您的應用程序在審覈過程中的任何時候崩潰,它將被拒絕。

除此之外,他們有一個用戶界面元素的清單,他們檢查正確使用(在表視圖行上沒有持久選擇等)。如果您的應用程序在使用這些標準UI元素時明顯偏離Human Interface Guidelines,則可能會被拒絕。

蘋果對版權非常小心,特別是對於他們自己的圖像和藝術品,所以如果您不正確地使用版權材料,可能會遇到麻煩。

通過使應用程序穩定並遵循平臺指南,您將面臨的大多數拒絕原因都是可預防的,但有些則不是。某些類別的應用程序由於其預期用途而被拒絕,並且商店允許的應用程序類別也會定期更改。這可能會增加與App Store打交道時的挫折感和不確定性,但絕大多數應用程序類型永遠不會遇到問題(從當前可用的應用程序的多樣性中可以看出)。

+0

很好答案。謝謝 – jarryd 2010-07-06 17:50:40

+0

這是錯誤的。 Apple可以訪問您的源代碼:當您提交應用程序時,API的使用情況會在您的機器上由Apple的開發人員工具進行分析,並在提交應用程序之前發送給Apple。 – MacMark 2012-01-22 15:41:00

+3

@MacMark - 不,他們沒有,那不會發生。你在你的機器上建立一個二進制文件,併發送他們二進制文件。從Objective-C編譯的二進制文件可以爲它們調用的方法保留符號,因此可以轉儲和掃描這些二進制文件。另外,蘋果公司可能會在他們自己的專門構建的框架中運行你的二進制文件,並且看看這個二進制文件何時向它不應該發出的東西發出響應。鑑於發生與蘋果私人產品匹配的方法的人誤報的情況,符號掃描方法最有可能。 – 2012-01-22 17:30:42

1

不,他們只能訪問您發送的二進制代碼。

他們可以通過探查器來檢查內存泄漏等。

1

他們無法訪問您的源代碼;這不是你發給他們的一部分。他們測試你發送給他們的泄漏等二進制文件。我認爲他們還會檢查你的應用程序發送了什麼數據,以確保它沒有做任何異常糟糕的事情(發送密碼或類似內容)。

2

Apple不關心應用程序的泄漏和分析信息。操作系統能夠殺死你的應用程序,如果它失控。他們實際上做的是手動運行你的應用程序,並檢查它是否遵循一些蘋果指南。在自動化過程中,他們從二進制文件中提取符號,選擇器和字符串,並檢查這些是否使用私有API。

您可能想要在(模擬器)二進制文件上嘗試nm -u

4

嘗試otool -L二進制自己使用,你可以立即看到,如果習慣了私人API框架...

0

他們只僅接收IPA你binray文件。他們可以在提取ipa時獲取一些資源文件。他們能夠找到您在網絡服務或網址請求中使用的所有網址。除此之外沒有別的。

相關問題