Middle
Muhitga qarab ilova ikonkasini qanday o'zgartirish mumkin?
sobes.tech AI
AIdan javob
Muvofiq muhitga (masalan, Dev, Staging, Prod), quyidagi usullardan foydalanish mumkin:
- Har bir muhit uchun alohida maqsadlar (Targets) yaratish.
- Konfiguratsiya fayllaridan (
.xcconfig) foydalanish. Info.plistga maxsus kalitlar qo'shish.
Jarayon:
- Har bir muhit uchun asosiy maqsad nusxalarini yarating.
- Har bir yangi maqsadning sozlamalarida
Info.plist Fileni o'zgartiring yokiCFBundleIconFileskalitini qo'shing va ikonka fayli nomini ko'rsating. - Har bir muhit uchun
.xcconfigfayllarida mosInfo.plistga ishora qiluvchi o'zgaruvchi aniqlang. - Asosiy maqsadning qurilish sozlamalarida
Info.plist Fileni${INFO_PLIST_FILE}ga o'rnating (bu yerdaINFO_PLIST_FILE.xcconfigdan o'zgaruvchi).
Dev uchun .xcconfig misoli:
// DEV.xcconfig
INFO_PLIST_FILE = Info_Dev.plist
Info_Dev.plist misoli:
<!-- 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 uchun ikonka asset nomi
</array>
</dict>
</dict>
...
</dict>
</plist>
Alohida maqsadlarni ko'paytirmasdan, qurilish vaqtida Info.plist ni o'zgartiradigan skriptlar ishlatish mumkin. Biroq, alohida maqsadlar bilan ishlash yanada aniqroq va qo'llab-quvvatlanadi.
Ikon assetlarini boshqarish uchun har bir maqsad yoki konfiguratsiya uchun alohida Asset Catalogs ishlatish yoki ikon to'plamlarini unikal nomlar bilan (AppIconDev, AppIconStaging, AppIconProd) nomlash va Info.plist da mos nomni ko'rsatish mumkin.