xcode - 如何设置 Bundle Ids、App Identifiers 和 Provisioning Profiles 以发布使用 SwiftUI 和 XCode 制作的 WatchOs 应用程序?
问题描述
我用 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)
所以我无法构建或存档我的应用程序。然后我对 App 和 Extension 使用了相同的 bundleId,如下所示:
- 应用程序(捆绑 id:com.domain.appname)
- watchkit 应用程序(捆绑 id:com.domain.appname.watchkitapp)
- watchkit 扩展(捆绑 id:com.domain.appname.watchkitapp)
通过这些设置,我可以构建和归档应用程序。但是,当我尝试将其上传到应用商店(使用 XCode 或使用名为传输器的外部应用)时,我收到此错误:
所以在这一点上我迷路了......这里有没有人能够使用 swift UI 和 Xcode 发布手表操作系统应用程序,并且可以告诉我如何使用 Bundle Ids、App Identifiers 和 Provisioning Profiles 来做到这一点。谢谢
解决方案
在 Target > General > Bundle Identifier
对于扩展目标,它们应该是增量的
主应用 = com.domain.appName
观看应用 = com.domain.appName.watchkitapp
手表扩展 = com.domain.appName.watchkitapp.watchkitextension
从我所见,您的扩展程序不是唯一的(它不添加扩展程序部分)。
此外,您的Version
和Build
在同一区域应匹配所有 3 个项目
推荐阅读
- c++-cli - 无法在 C++/CLI 中数组的 Contains 方法中指定比较器
- laravel - Laravel 5.7 更新部分,无消息错误
- firebase - 如何使用 Firebase 和 Vuejs 获取用户数据
- django - 尝试为 django/heroku 上的博客条目创建删除选项
- python - 从给定索引中选择 3 个(或 n 个)观察值
- postgresql - 根据 JSON 函数参数更新插入适当的字段
- php - PHP - 任务调度程序无法包含以前的目录?
- spring - 应用程序或会话对后台线程不可用
- javascript - 如何使用javascript检查给定日期是否等于当前月份?
- c# - 为什么 TempData 将 long[] 转换为 int[]