Sobes.tech
Middle

Muhitga qarab ilova ikonkasini qanday o'zgartirish mumkin?

sobes.tech AI

AIdan javob

Muvofiq muhitga (masalan, Dev, Staging, Prod), quyidagi usullardan foydalanish mumkin:

  1. Har bir muhit uchun alohida maqsadlar (Targets) yaratish.
  2. Konfiguratsiya fayllaridan (.xcconfig) foydalanish.
  3. Info.plist ga maxsus kalitlar qo'shish.

Jarayon:

  • Har bir muhit uchun asosiy maqsad nusxalarini yarating.
  • Har bir yangi maqsadning sozlamalarida Info.plist File ni o'zgartiring yoki CFBundleIconFiles kalitini qo'shing va ikonka fayli nomini ko'rsating.
  • Har bir muhit uchun .xcconfig fayllarida mos Info.plist ga ishora qiluvchi o'zgaruvchi aniqlang.
  • Asosiy maqsadning qurilish sozlamalarida Info.plist File ni ${INFO_PLIST_FILE} ga o'rnating (bu yerda INFO_PLIST_FILE .xcconfig dan 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.