【问题标题】:Update watchOS-only app "generated iOS" plist?更新仅 watchOS 的应用程序“生成的 iOS”plist?
【发布时间】:2020-02-21 17:38:32
【问题描述】:

TL;DR 如何更新生成的仅限 watchOS 的 iOS plist 文件?


仅 watchOS 的应用默认有 3 个目标:WatchKit 应用、WatchKit 扩展以及看起来是主捆绑包的东西,类似于“假”iOS 应用,可能需要分发。 p>

在构建步骤中,您可以清楚地看到主“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。

问题:如何更改该 plist 以获得额外的密钥?

这是必需的,因为 https://forums.developer.apple.com/message/405719#405719 为了让您的应用可用于 TestFlight 的内部用户,您需要以某种方式显式添加 ITSAppUsesNonExemptEncryption 键。

虽然对于像我这样只支持 watchOS 的应用程序,我发现解决此问题的唯一技巧是在生成存档后手动更改生成的 plist。

【问题讨论】:

    标签: ios xcode app-store-connect testflight watchos


    【解决方案1】:

    遇到同样的问题,您应该可以将密钥添加到主 WatchApp 中。但 iTunesConnect 正在检查手表应用,就好像它们捆绑在 iPhone 应用中一样: ERROR: ERROR ITMS-90363: "Invalid Info.plist key. The key 'ITSAppUsesNonExemptEncryption' in bundle Boiler.app/Watch/WatchKit App.app is invalid."

    我找到了一个不错的解决方案,只需为虚拟目标创建一个 info.plist!这将被合并而不是 empty.plist!不要忘记INFOPLIST_FILE 虚拟目标的构建设置。 (来源:https://forums.developer.apple.com/thread/122660

    【讨论】:

    • 非常感谢。看起来 iTunes connect 已经被修补过了,它不再抱怨那个丢失的密钥了。尽管如此,您的解决方法还是很棒的(;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 2013-12-30
    相关资源
    最近更新 更多