簡體   English   中英

在Xcode 9 / iOS 11中將應用程序圖標自定義為構建階段

[英]Customize app icon as build phase in Xcode 9/iOS 11

我的應用程序設置為根據正在構建的配置向應用程序圖標添加橫幅。 按照這些步驟完成。

https://www.raywenderlich.com/105641/change-app-icon-build-time

從Xcode 9 / iOS 11開始,這似乎不再起作用了。 圖像仍然正在被修改,並且它們存在於應用程序包中,但它們不會被用作設備上的應用程序圖標。

有沒有辦法再做一次?

我在這里偷偷摸摸。 問題是圖標(以及資產目錄中的其他所有內容)被打包成.car文件,然后使用它代替單個文件。 我不知道為什么實際的圖標文件仍然被復制到構建文件夾中(也許它們用於表示模糊的地方,比如xcode中的構建列表或類似的東西)。 如果要更改構建腳本中的圖標,則可以使用actool重新打包.car文件。 或者您需要在編譯前更改圖像。 或者您可以在xcode中拆分編譯腳本並找到它打包.car文件的位置,然后在那里更改一些預先欺騙。 無論如何,更改中間構建文件夾中的圖標將變得非常困難。

這是我最終選擇的解決方案。

  1. Assets.xcassets刪除應用程序圖標
  2. 為需要自定義圖標的每個配置創建新的xcassets 我將它們命名為AppIcon-{CONFIGUATION}.xcassets
  3. 為發布版本創建默認的AppIcon.xcassets文件。
  4. 在目標構建設置中,將以下內容添加到“ Excluded Source File Names
$(SRCROOT)/$(PRODUCT_NAME)/AppIcon*.xcassets
  1. 此外,在目標構建設置中,將以下內容添加到“ Included Source File Names ,根據需要為每個配置進行自定義。
$(SRCROOT)/$(PRODUCT_NAME)/AppIcon-Debug.xcassets

這將導致構建的應用程序僅包含正在構建的配置的應用程序圖標資產。 這也可以擴展到其他資產。

我遇到了同樣的問題,但是在iOS 10.3中,他們添加了對在運行時直接從代碼修改應用程序圖標的支持。 如果你需要在圖標上添加文字,可能會有點棘手,但這不應該是不可能的。

更多信息:

https://www.hackingwithswift.com/example-code/uikit/how-to-change-your-app-icon-dynamically-with-setalternateiconname

編輯:

我做了一些挖掘,似乎有一個解決方案。 您可以在此主題中閱讀更多內容: 應用程序圖標不包含在Xcode 9的構建中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM