【发布时间】:2016-01-23 16:35:35
【问题描述】:
尝试提交从 ios 9.0 到 9.1 的 iOS 和 Apple Watch OS2 扩展更新。我最近将 Xcode 更新到了 7.1 版,现在我遇到了这个问题,没有做任何更改。
iTunes store operation failed you are not authorized to use this service
我的尝试:
- 从 Xcode 中删除了开发者帐户 -> 将开发者帐户添加回 Xcode -> 仍然出现错误。
- 我尝试了 Xcode -> Preferences -> Apple ID -> Download All 以更新我最新的配置文件。仍然收到错误消息。
- 删除所有旧存档,清理项目,再次存档。仍然收到错误消息。
- 增加了项目和 iTunes 连接中的内部版本号和版本号。仍然得到错误。
- 已删除库中的派生数据 -> 开发人员文件夹,但我仍然收到错误消息。
- 已清理项目 -> 再次存档项目 -> 未选中“启用位码”,但我仍然收到错误消息。
代码签名设置:
- Watch Target -> 供应配置文件自动代码签名 iOS 开发人员
- Watch Target Extension -> 配置文件自动代码签名 iOS 开发者
- iOS 目标 -> 配置文件自动代码签名 iOS 开发人员
配置配置文件设置仍然出现错误消息。
- 重新安装 Xcode 7.1 -> 仍然出现错误消息。
我还确认我的所有开发人员和分发配置文件均有效且已下载。
观察:
我注意到的一件事是,当我归档应用程序并查看 Window -> Organizer 时,我注意到我的 iOS 应用程序位于我的归档文件的左侧。我尝试提交的这个应用程序旁边没有名称。但是,如果我删除此应用程序的所有旧存档,则应用程序名称会再次显示在应用程序图标旁边。可能是 Xcode 的一个错误,但我不知道。
我注意到的另一件事是,我已经能够使用 Xcode 7.1 成功提交没有 WatchKit 扩展的 iOS 档案。我不确定 WatchKit 扩展是否可能是问题,但有可能。
此外,当档案准备好上传到 iTunes Connect 时,我注意到了几件事。首先,iOS 应用程序默认为活动配置文件:“MyApp”分发配置文件。但是,WatchKit 应用程序和应用程序扩展都自动默认为 XC* 通配符配置文件。我不确定这整个问题是否与配置文件错误有关,但有可能。
iOS Target -> Build Phases -> Embed Watch Content 设置为:
$(CONTENTS_FOLDER_PATH)/Watch
应用程序加载器提交尝试:
尝试并失败并显示以下错误消息:
错误 ITMS-90171 “无效的捆绑结构 - 不允许使用二进制文件‘MyApp.app/Watch/MyAppWatch.app/_WatchKitStub/WK’。您的应用不能包含独立的可执行文件或库支持的包的 CFBundleExecutable。请参阅 Bundle Programming Guide..."
再次,我使用这个完全相同的项目结构在 Xcode 7.0 ios 9.0.x 上提交 ios 应用程序和 watchkit OS2 扩展没有问题。我认为错误消息是不准确的,除非我配置错误,但我想我会在 Xcode 7.0 上遇到错误
任何关于如何解决这个问题的帮助都会很棒。我发现谷歌搜索和阅读其他 SO 帖子没有任何帮助,而且我已经被困在这个问题上太久了。谢谢!
【问题讨论】:
-
检查是否在“构建阶段”中将某些内容复制到您的包中(例如
_WatchKitStub/WK)。 -
检查了 ios 目标构建阶段和 watchkitextension 目标构建阶段,没有看到 _WatchKitStub/WK
-
这似乎很可能是一个错误;您可以尝试的另一件事是提交
.xcarchive包而不是.ipa。您使用的是哪个版本的 Xcode?span> -
Xcode 版本 7.1 (7B91B)
标签: ios xcode app-store-connect