TL; DR Как обновить сгенерированный файл iOS plist только для watchOS?
Приложения только для watchOS имеют по умолчанию 3 цели: WatchKit App, WatchKit Расширение и то, что выглядит как основной комплект, что-то, напоминающее «фальшивое» iOS приложение , вероятно, необходимое для распространения.
![watchOS-only app targets](https://i.stack.imgur.com/a6vze.png)
На этапах сборки вы четко видите, что основная цель "TeslaPulse" является целью iOS и является родительским комплектом приложения WatchKit и расширения WatchKit (вроде как для приложений, не предназначенных только для watchOS).
Эта основная iOS цель выполняет один шаг:
ProcessInfoPlistFile /Users/vince/Library/Developer/Xcode/DerivedData/TeslaPulse-dotmlbmrjsjjgggixtbkfceylkfa/Build/Products/Debug-iphoneos/TeslaPulse.app/Info.plist /Users/vince/Library/Developer/Xcode/DerivedData/TeslaPulse-dotmlbmrjsjjgggixtbkfceylkfa/Build/Intermediates.noindex/TeslaPulse.build/Debug-iphoneos/TeslaPulse.build/empty.plist (in target 'TeslaPulse' from project 'TeslaPulse')
cd /Users/vince/Documents/TeslaPulse
builtin-infoPlistUtility /Users/vince/Library/Developer/Xcode/DerivedData/TeslaPulse-dotmlbmrjsjjgggixtbkfceylkfa/Build/Intermediates.noindex/TeslaPulse.build/Debug-iphoneos/TeslaPulse.build/empty.plist -producttype com.apple.product-type.application.watchapp2-container -genpkginfo /Users/vince/Library/Developer/Xcode/DerivedData/TeslaPulse-dotmlbmrjsjjgggixtbkfceylkfa/Build/Products/Debug-iphoneos/TeslaPulse.app/PkgInfo -expandbuildsettings -format binary -platform iphoneos -additionalcontentfile /Users/vince/Library/Developer/Xcode/DerivedData/TeslaPulse-dotmlbmrjsjjgggixtbkfceylkfa/Build/Intermediates.noindex/TeslaPulse.build/Debug-iphoneos/TeslaPulse.build/Base.lproj/LaunchScreen-SBPartialInfo.plist -additionalcontentfile /Users/vince/Library/Developer/Xcode/DerivedData/TeslaPulse-dotmlbmrjsjjgggixtbkfceylkfa/Build/Intermediates.noindex/TeslaPulse.build/Debug-iphoneos/TeslaPulse.build/assetcatalog_generated_info.plist -additionalcontentfile /Users/vince/Library/Developer/Xcode/DerivedData/TeslaPulse-dotmlbmrjsjjgggixtbkfceylkfa/Build/Intermediates.noindex/TeslaPulse.build/Debug-iphoneos/TeslaPulse.build/ProductTypeInfoPlistAdditions.plist -requiredArchitecture arm64 -o /Users/vince/Library/Developer/Xcode/DerivedData/TeslaPulse-dotmlbmrjsjjgggixtbkfceylkfa/Build/Products/Debug-iphoneos/TeslaPulse.app/Info.plist
Это , генерирующее Info.plist для этой главной цели.
Вопрос: Как можно изменить этот список для получения дополнительного ключа?
Это необходимо из-за https://forums.developer.apple.com/message/405719#405719, где ваше приложение будет доступно для внутреннего использования. пользователям TestFlight вам как-то нужно явно добавить ключ ITSAppUsesNonExemptEncryption
.
Хоть для Приложения, предназначенные только для watchOS, такие как мое, единственная хитрость, которую я нашел, чтобы обойти проблему, заключалась в том, чтобы вручную изменить сгенерированный plist после , когда был создан архив.