Middle
Kuidas muuta rakenduse ikooni sõltuvalt keskkonnast?
sobes.tech AI
Vastus AI-lt
Sõltuvalt keskkonnast (näiteks Dev, Staging, Prod) saab kasutada:
- Eraldi sihtmärkide (Targets) loomist iga keskkonna jaoks.
- Konfiguratsioonifailide (
.xcconfig) kasutamist. - Kohandatud võtmete lisamist
Info.plist-i.
Protsess:
- Kopeerida põhisihtmärgi koopiad iga keskkonna jaoks.
- Muuta iga uue sihtmärgi
Info.plist Filevõi lisada võtiCFBundleIconFilesja määrata ikoonifaili nimi. .xcconfigfailides määrata iga keskkonna jaoks muutuja, mis viitab vastavaleInfo.plist-ile.- Põhisihitri Build Settings seadistada
Info.plist Fileväärtusele${INFO_PLIST_FILE}(kusINFO_PLIST_FILEon.xcconfig-st muutuja).
Näide .xcconfig Dev:
// DEV.xcconfig
INFO_PLIST_FILE = Info_Dev.plist
Näide Info_Dev.plist:
<!-- Info_Dev.plist -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
...
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>AppIconDev</string> // Dev ikona nimi
</array>
</dict>
</dict>
...
</dict>
</plist>
Alternatiivne lähenemine ilma sihtmärkide dubleerimiseta – kasutades ehituse ajal skripte, mis muudavad Info.plist-i vastavalt praegusele konfiguratsioonile. Kuid, eraldi sihtmärkidega on see selgem ja toetatud lähenemine.
Ikonide ja Asset Catalogs kasutamiseks iga sihtmärgi või konfiguratsiooni jaoks saab kasutada eraldi Asset Catalogs või nimetada ikonikogusid unikaalselt (AppIconDev, AppIconStaging, AppIconProd) ning määrata sobiva nime Info.plist-is.