Middle
Чӣ гуна иконкаи барнома дар асоси муҳитро тағир додан мумкин аст?
sobes.tech AI
Ҷавоб аз AI
მოვლენაზე დამოკიდებული (მაგალითად, Dev, Staging, Prod), შეიძლება გამოყენებულ იქნას:
- ცალკეული მიზნების (Targets) შექმნა თითოეულ გარემოსთვის.
- კონფიგურაციის ფაილების (
.xcconfig) გამოყენება. - პერსონალიზებული გასაღებების დამატება
Info.plist-ში.
პროცესი:
- შექმენით დუბლიკატები ძირითადი მიზნისთვის თითოეულ გარემოსთვის.
- ახალი მიზნის პარამეტრებში შეცვალეთ
Info.plist Fileან დაამატეთ გასაღებიCFBundleIconFilesდა მიუთითეთ ფაილის სახელწოდება. .xcconfigფაილებში თითოეულ გარემოსთვის განსაზღვრეთ ცვლადი, რომელიც მიუთითებს შესაბამისInfo.plist-ზე.- ძირითადი მიზნის მშენებლობის პარამეტრებში დააყენეთ
Info.plist File-ი${INFO_PLIST_FILE}-ზე (სადაცINFO_PLIST_FILEარის.xcconfig-დან ცვლადი).
Dev-ისთვის .xcconfig მაგალითი:
// DEV.xcconfig
INFO_PLIST_FILE = Info_Dev.plist
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-ისთვის asset-ის სახელი
</array>
</dict>
</dict>
...
</dict>
</plist>
სხვა მეთოდი, რომელიც არ საჭიროებს მიზნების დუბლირებას, არის სკრიპტების გამოყენება მშენებლობის დროს, რომლებიც შეცვლიან Info.plist-ს მიმდინარე კონფიგურაციის მიხედვით. თუმცა, მიზნების ცალკე შექმნა უფრო ნათელია და მხარდაჭერილია.
სურათების მართვისთვის, შესაძლებელია თითოეულ მიზნაზე ან კონფიგურაციაზე განთავსდეს ცალკეული Asset Catalogs, ან იკონების ნაკრებები სახელწოდებით (AppIconDev, AppIconStaging, AppIconProd) და შესაბამისი სახელი მიუთითოთ Info.plist-ში.