Sobes.tech
Middle

Mühitə görə tətbiq ikonunu necə dəyişdirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Ətraf mühitə (məsələn, Dev, Staging, Prod) görə aşağıdakı üsullardan istifadə etmək olar:

  1. Hər bir mühit üçün ayrıca məqsədlər (Targets) yaratmaq.
  2. Konfiqurasiya fayllarından (.xcconfig) istifadə etmək.
  3. Info.plist-ə xüsusi açarların əlavə edilməsi.

Proses:

  • Hər bir mühit üçün əsas məqsədin nüsxələrini yaradın.
  • Hər yeni məqsədin tənzimləmələrində Info.plist File-ı dəyişdirin və ya CFBundleIconFiles açarını əlavə edin və ikon faylının adını göstərin.
  • Hər bir mühit üçün .xcconfig fayllarında müvafiq Info.plist-ə işarə edən dəyişəni təyin edin.
  • Əsas məqsədin quruluş parametrlərində Info.plist File${INFO_PLIST_FILE}-ə təyin edin (burada INFO_PLIST_FILE .xcconfig`-dən dəyişəndir).

Dev üçün .xcconfig nümunəsi:

// DEV.xcconfig
INFO_PLIST_FILE = Info_Dev.plist

Info_Dev.plist nümunəsi:

<!-- 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 üçün ikon asset adı
			</array>
		</dict>
	</dict>
	...
</dict>
</plist>

Alternativ olaraq, məqsədləri çoxaltmadan, quruluş zamanı Info.plist-i dəyişən skriptlər istifadə etmək mümkündür. Ancaq, ayrı məqsədlərlə işləmək daha aydın və dəstəklənir.

İkon assetlərinin idarə olunması üçün hər məqsəd və ya konfiqurasiya üçün ayrıca Asset Catalogs istifadə edilə bilər və ya ikon dəstləri unikal adlar (AppIconDev, AppIconStaging, AppIconProd) ilə adlandırıla bilər və Info.plist-də müvafiq adı göstərə bilərsiniz.