问题描述
我用 Xcode 12 和 SwiftUI 制作了一个 watchOS 应用程序,但我真的很难发布它。 watchOS 应用包含三段代码:
- 应用程序
- watchkit 应用
- watchkit 扩展
我已尝试对所有人使用相同的捆绑 ID(格式:com.domain.appname)。那失败了。因此,我尝试为每个包使用不同的包 ID,如下所示(知道我已经创建了 3 个应用标识符和 3 个与 developer.apple.com 上的匹配的配置文件)。
- 应用(包 ID:com.domain.appname)
- watchkit 应用(捆绑 ID:com.domain.appname.watchkitapp)
- watchkit 扩展(包 ID:com.domain.appname.watchkitextension)
构建失败,出现以下错误:
所以我无法构建或存档我的应用程序。然后我为应用程序和扩展程序使用了相同的 bundleId,如下所示:
- 应用(包 ID:com.domain.appname)
- watchkit 应用(捆绑 ID:com.domain.appname.watchkitapp)
- watchkit 扩展(包 ID:com.domain.appname.watchkitapp)
通过这些设置,我可以构建和归档应用程序。但是,当我尝试将其上传到应用程序商店(使用 XCode 或称为传输器的外部应用程序)时,我收到此错误:
所以在这一点上我迷路了...这里是否有人能够使用 swift UI 和 Xcode 发布 watch os 应用程序,并且谁能告诉我如何使用 Bundle Id、App Identifiers 和 Provisioning Profiles这样做。谢谢
解决方法
在目标 > 常规 > 捆绑标识符
对于扩展目标,它们应该是增量的
-
主应用 = com.domain.appName
-
手表应用 = com.domain.appName.watchkitapp
-
手表扩展名 = com.domain.appName.watchkitapp.watchkitextension
就我所见,您的扩展程序不是唯一的(它没有添加扩展程序部分)。
此外,您在同一区域的 Version
和 Build
应与所有 3 个项目相匹配