Xcode 10,WatchKit 应用程序和分发错误 ITMS-90334 com.apple.wk
Xcode 10, WatchKit app and distribution error ITMS-90334 with com.apple.wk
我有一个项目,里面有 WatchKit 应用程序。
它曾经在 Xcode 8 和 Xcode 9 中使用自动签名和分发顺畅地工作。 Xcode 10 弄坏了东西。
我现在有的是这个
这里的重点是"com.apple.wk"
据我了解,它是组织者在重新签名阶段的某个地方添加的。
我检查了我的项目 quadriple,我 100% 确定它在任何地方都不包含 "com.apple.wk" 字符串。
我切换到手动签名。已创建新的 iOS 分发证书。为 app、watch app、watchapp extension 生成了 3 个具有正确捆绑包的 Provision 配置文件。同样的错误在这里。
我尝试清理项目,open\close Xcode,重新启动系统。没有运气。
由于上述错误,我无法将我的 IPA 转移到 iTunes。
我尝试导出 IPA 并使用 Application Loader 分发它。运气不好。
我发现的唯一一个地方 "com.apple.wk" 字符串是在打包日志中
2018-09-21 06:54:33 +0000 /var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.4mX/Root/Payload/myApp.app/Watch/myApp Watch App.app: replacing existing signature
2018-09-21 06:54:34 +0000 /var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.4mX/Root/Payload/myApp.app/Watch/myApp Watch App.app: signed app bundle with Mach-O universal (armv7k (33554444:1)) [com.apple.WK]
同时主应用程序和扩展程序已使用正确的包 ID 退出
2018-09-21 06:54:34 +0000 /var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.4mX/Root/Payload/myApp.app: replacing existing signature
2018-09-21 06:54:34 +0000 /var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.4mX/Root/Payload/myApp.app: signed app bundle with Mach-O universal (armv7 arm64) [com.myAppBundleName]
&
2018-09-21 06:54:33 +0000 /var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.4mX/Root/Payload/myApp.app/Watch/myApp Watch App.app/PlugIns/myApp Watch App Extension.appex: signed bundle with Mach-O universal (armv7k (33554444:1)) [com.myAppBundleName.watchkitapp.watchkitextension]
非常感谢任何关于如何交付我的应用程序的想法。
有两种选择:
a.
打开项目的每个目标并将架构更改为 $(ARCHS_STANDARD)
清理构建文件夹并尝试照常上传。这应该允许您像往常一样通过管理器自动发送它。
b. 如果上面的方法不起作用,请尝试下一步:
- 单击 "Archive" 和 XCode 并获取 xcarchive 文件
- 在 Finder 中打开存档
- 开始通过管理器分发按钮分发到 App Store 存档
- 得到上面的错误
- 导出创建的 ipa 文件
- 从导出目录打开 packaging.log 文件
- 搜索 "com.apple.wk" 字符串以找到一个
在此处对来自打包日志的协同设计请求进行分析和尝试
/usr/bin/codesign '-vvv' '--force' '--sign' 'B5152DB7C8BC97C444D44341275F5E1B3336BA3B' '--entitlements' '/var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.vsk/entitlements3uMHR5' '-- preserve-metadata=identifier,flags,runtime' '/var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.vsk/Root/Payload/myApp.app/Watch/myApp 观看 App.app'
弄清楚,如果我删除这个 '--preserve-metadata=identifier,flags,runtime'
并在 bash 中重新运行这段代码,一切都进行得很顺利,二进制文件是用正确的包 ID 签名的,而不是用这个 com.apple.wk
- 将这个已签名的嵌入式(您可以在上面的请求中找到的路径)watch 应用程序二进制文件复制到第一步创建的 xcarchive 文件中,并替换旧文件。
- 开始与组织者一起分发回 App Store
- 瞧,已经上传了。
希望对大家有所帮助。
我有一个项目,里面有 WatchKit 应用程序。
它曾经在 Xcode 8 和 Xcode 9 中使用自动签名和分发顺畅地工作。 Xcode 10 弄坏了东西。
我现在有的是这个
这里的重点是"com.apple.wk" 据我了解,它是组织者在重新签名阶段的某个地方添加的。
我检查了我的项目 quadriple,我 100% 确定它在任何地方都不包含 "com.apple.wk" 字符串。
我切换到手动签名。已创建新的 iOS 分发证书。为 app、watch app、watchapp extension 生成了 3 个具有正确捆绑包的 Provision 配置文件。同样的错误在这里。
我尝试清理项目,open\close Xcode,重新启动系统。没有运气。 由于上述错误,我无法将我的 IPA 转移到 iTunes。
我尝试导出 IPA 并使用 Application Loader 分发它。运气不好。
我发现的唯一一个地方 "com.apple.wk" 字符串是在打包日志中
2018-09-21 06:54:33 +0000 /var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.4mX/Root/Payload/myApp.app/Watch/myApp Watch App.app: replacing existing signature
2018-09-21 06:54:34 +0000 /var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.4mX/Root/Payload/myApp.app/Watch/myApp Watch App.app: signed app bundle with Mach-O universal (armv7k (33554444:1)) [com.apple.WK]
同时主应用程序和扩展程序已使用正确的包 ID 退出
2018-09-21 06:54:34 +0000 /var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.4mX/Root/Payload/myApp.app: replacing existing signature
2018-09-21 06:54:34 +0000 /var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.4mX/Root/Payload/myApp.app: signed app bundle with Mach-O universal (armv7 arm64) [com.myAppBundleName]
&
2018-09-21 06:54:33 +0000 /var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.4mX/Root/Payload/myApp.app/Watch/myApp Watch App.app/PlugIns/myApp Watch App Extension.appex: signed bundle with Mach-O universal (armv7k (33554444:1)) [com.myAppBundleName.watchkitapp.watchkitextension]
非常感谢任何关于如何交付我的应用程序的想法。
有两种选择:
a.
打开项目的每个目标并将架构更改为 $(ARCHS_STANDARD)
b. 如果上面的方法不起作用,请尝试下一步:
- 单击 "Archive" 和 XCode 并获取 xcarchive 文件
- 在 Finder 中打开存档
- 开始通过管理器分发按钮分发到 App Store 存档
- 得到上面的错误
- 导出创建的 ipa 文件
- 从导出目录打开 packaging.log 文件
- 搜索 "com.apple.wk" 字符串以找到一个
在此处对来自打包日志的协同设计请求进行分析和尝试
/usr/bin/codesign '-vvv' '--force' '--sign' 'B5152DB7C8BC97C444D44341275F5E1B3336BA3B' '--entitlements' '/var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.vsk/entitlements3uMHR5' '-- preserve-metadata=identifier,flags,runtime' '/var/folders/gg/jxvtgf9n07s9m0z_vzqlx0c00000gn/T/XcodeDistPipeline.vsk/Root/Payload/myApp.app/Watch/myApp 观看 App.app'
弄清楚,如果我删除这个
'--preserve-metadata=identifier,flags,runtime'
并在 bash 中重新运行这段代码,一切都进行得很顺利,二进制文件是用正确的包 ID 签名的,而不是用这个 com.apple.wk- 将这个已签名的嵌入式(您可以在上面的请求中找到的路径)watch 应用程序二进制文件复制到第一步创建的 xcarchive 文件中,并替换旧文件。
- 开始与组织者一起分发回 App Store
- 瞧,已经上传了。
希望对大家有所帮助。