2014-10-20 106 views
1

我有一個當前在App Store中的應用程序。 它有大約500mb的數據,它需要運行。iOS減少App Store更新中的二進制大小

我是戰鬥和戰鬥的各種方法的應用程序被下載後安裝該數據,包括AFNetworkingWhiteRaccoon,無果......最後期限到來快,所以我決定只啊哈捆綁到內容應用程序包,並擔心它。這意味着應用程序的大小決定了人們在WiFi上下載它,但是......無論如何。

現在,我已經發現了NSURLSession,這讓我很高興,它做了我需要的一切,我無法讓其他人做(見my answer這個問題)。

所以......我準備推新的更新到App Store,而我的檔案大小已從491.2mb減少到32.2mb(!?哇噢?!)。

我很好奇蘋果如何管理這個。我已閱讀this document,其中提到了通過檢測未更改的內容來減小應用程序包大小的技術,但它沒有明確提及我所面臨的情況。

現在,如果460mb左右的廢棄捆綁包/代碼將被存儲在用戶的設備中,我希望能夠向他們推薦他們完全刪除該應用並重新安裝...但我是好奇,如果我/他們需要這樣做,還是有人知道蘋果如何處理這種情況?

謝謝。

+1

恭喜您減少您的應用程序大小。你的新設計聽起來更好。用戶不需要刪除並重新安裝您的應用程序。 App Store diff軟件包將刪除此內容(除非以編程方式將其複製到保留的目錄中,例如文檔)。 – 2014-10-20 01:38:27

+0

好吧,原來的內容只是複製到App Bundle中。新內容 - 目前 - 位於Documents目錄中,但不是全局文件,位於App Sandbox內... – 2014-10-20 01:52:01

+0

因此,隨着內容已被複制到Documents文件夾中,如果我刪除了該應用程序並且重新安裝,我應該看到這些文件?原因我沒有看到這種行爲...(我查詢了我在/ Documents中製作的自定義目錄,並測試在我開始下載之前是否擁有所有內容) – 2014-10-20 01:56:21

回答

1

您引用的文檔Technical Q&A QA1779: Reducing Download Size for iOS App Updates涵蓋了Apple爲優化應用程序更新大小所做的工作。但實際效果與用戶設備上的應用程序包完全替換相同。正如該文檔所述:

除了新內容,更新包還包含有關如何將應用程序的先前版本轉換爲新版本應用程序的說明。新文件將被添加,修改後的文件將被其更新的文件替換,並且刪除的文件將作爲此轉換的一部分被刪除。就開發人員和用戶而言,這個過程是完全透明的,由此產生的更新應用程序將無法與其應用程序的相應更新版本的完整下載區分開來。

所以,不,你不必告訴用戶刪除舊的應用程序,除非持久存儲(文件,NSUserDefaults等)中有任何東西需要重置。無論如何,您應該可以通過編程來處理這個問題。

+0

好的,第一遍沒有聽到這句話......謝謝。 – 2014-10-20 02:23:49

+1

無恥的插件來自聲譽低於80k的人 - 我很樂意看到一些負責任的問題! ;-) – 2014-10-20 02:24:40