2017-04-07 60 views
5

我們的應用程序達到大約49MB,我們不是一半。所以肯定會超過50MB的限制。我有幾個問題如下。逼近大小限制 - 手錶應用程序的大小(50MB限制令人頭疼)

1)WatchOS中的按需資源是否可能?

2)我的資源(圖像,自定義字體)使2副本每一個是手錶應用程序和其他手錶擴展名。如何解決這個問題?

3)Swift核心和其他快速框架消耗約28MB的空間。有什麼辦法可以禁用它嗎?

爲watchOS4

編輯(PS,我們有位代碼無效。):

以前我們的應用程序大小爲44.3 MB,但是當我們從xcode9大小產生IPA上升至54.5。

回答

1

你絕對可以只包括資源無論是在鐘錶應用或手錶擴展,不能同時節省空間。對於故事板中使用的資源或WatchKit方法中名稱引用的資源,例如WKInterfaceImagesetImageNamed(_:)方法,應將其存儲在手錶應用程序本身中。對於按路徑或UIImage方法(如init?(named:))加載的任何資源,您都需要將它們放入您的WatchKit擴展。

+0

是可能可行的,但如果我的動畫圖像,然後我需要在這兩個目標中添加這些圖像。 –

+0

爲什麼你需要將它們添加到兩個目標?您可以在WatchKit擴展程序或應用程序包中使用動畫圖像;如果你需要在代碼中使用它們,那麼你可以在每次需要使用代碼時簡單地使用它們。 –

0

要回答你的第一個問題,yes按需資源是watchOS的可用選項。請參閱herehere

此外,上面的第一個鏈接描述了「切片」,它允許您指定資源到目標設備,從而減少您的整體應用程序佔用空間。

要解決您的第三個問題,請轉到擴展的項目設置,然後將Always Embed Swift標準庫設置爲「否」。

另外,從表擴建項目中刪除Newtonsoft.Json庫,如果存在的話

1

以下幾點可以幫助減少大小:

1)儘量爲使用SWIFT或目標C

2)無論是在手錶新增資產或觀看的擴展,根據需要。

3)使能位碼

4)去擴展的項目設置,並設置總是嵌入雨燕標準庫沒有

更新WatchOsOs4:

我們調查了watchos4的尺寸增加。最後,我們發現消耗記憶的dylib。

libSwiftCode在watchos3 16.1mb現在是23.1MB

libSwiftFoundation在watchos3 6.2MB現在是9。2MB

注:

從watchOS4大小增加了25MB,所以現在看應用程序的大小限制是75MB,而不是老50MB