【问题标题】:Non-Public Library SockPuppetGizmo非公共图书馆 SockPuppetGizmo
【发布时间】:2015-06-17 18:45:29
【问题描述】:

我收到一封电子邮件,指出我最近向 Apple 提交的 iOS/Watch OS 应用二进制文件无效,原因是:

应用程序链接到 PlugIns/iPrayed.appex/iPrayed 中的非公共库 WatchKit App.app/_WatchKitStub/WK: /System/Library/PrivateFrameworks/SockPuppetGizmo.framework/SockPuppetGizmo

我之前提交过这个版本,没有任何问题,只对几行代码进行了几次更改,根本没有添加任何东西。有什么线索吗?

【问题讨论】:

  • 我投票结束这个问题,因为它是关于 Apple 的接受政策,而不是编程。
  • @HoboSapiens 这完全是关于编程的。它声称我的项目中有一个我没有的框架。我一直在这里看到这样的问题。
  • XCode 版本 6.3.2 (6D2105),同样的问题!但非常奇怪的是,我在 testflight 上的二进制文件只是自动重新进入“处理”状态!那个怎么样?但我是几个小时前发送的,我已经发送给测试人员了……现在它在 testflight 上显示“Apple Watch Not Paired”警告。我还收到有关 CFBundleShortVersionString 不匹配的电子邮件 - 扩展名的 CFBundleShortVersionString 值“1.0”,但这是绝对错误的信息,发生了非常奇怪的事情。顺便说一句,SockPuppetGizmo.framework 是已知 Apple Watch/WatchKit 代码的私有标头之一!
  • 这是一个 Apple 漏洞,也在开发者论坛中讨论过:forums.developer.apple.com/thread/5797

标签: ios xcode apple-watch watchos


【解决方案1】:

你没有做错任何事。我创建了一个空的示例项目,将其存档,并且可以确认 SockPuppetGizmo 框架是默认链接的。这要么是 Xcode 链接的错误,要么是 iTunes 连接中的验证错误。我建议我们都提交一份雷达,以尽快引起 Apple 的注意。

otool -L Products/Applications/test.app/PlugIns/test\ WatchKit\ Extension.appex/test\ WatchKit\ App.app/test\ WatchKit\ App

//Yields

/System/Library/PrivateFrameworks/SockPuppetGizmo.framework/SockPuppetGizmo (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3318.93.0)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1142.14.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1214.5.1)

nm -u Products/Applications/test.app/PlugIns/test\ WatchKit\ Extension.appex/test\ WatchKit\ App.app/test\ WatchKit\ App

//Yields

__SPApplicationMain
dyld_stub_binder

编辑: 正如许多人现在所报告的那样,再次可以通过 Application Loader 上传构建。 Xcode 6.3.2 在提交时仍然崩溃。

要通过应用程序加载器上传,请在管理器中选择您的存档,单击导出,保存并在某处保存 .ipa 文件。打开 Application Loader 并选择该 ipa。

【讨论】:

  • 我不认为我可以回答这个问题,但我已经采取了相同的步骤,并按照我在构建失败时收到的说明进行操作,如果/当我收到回复时,我会更新这个答案。听起来他们今天早上关闭了 iTunesConnect,也许他们必须在修复之前回滚一些代码?当然,所有的猜测。
  • 也看到了这个问题。实际上认为这是 Apple 服务器上的验证器服务变得疯狂,而不是我们的代码/XCode 项目中的问题。修复了上周接受的项目中的一些崩溃,相同的项目设置,相同的代码,通过一些检查接受,现在它不再被接受。
  • 现在它在处理阶段被拒绝,甚至在我们提交审核之前。此外,Xcode 当前在尝试从组织者提交时崩溃。我们必须通过 Application Loader 提交新版本。
  • 刚从 Apple 得到这个:无效的 WatchKit 支持 - 捆绑包包含无效的 WatchKit 实现。该应用程序可能是使用不合规或预发布工具构建或签名的。访问 developer.apple.com 了解更多信息。更正这些问题后,您可以重新交付更正后的二进制文件。此致,App Store 团队
  • 为了安全起见,我重新安装了 Xcode。我会让你知道会发生什么。
【解决方案2】:

现在似乎可以工作了。提交只是给出一个警告,但二进制文件正常并且可以提交。

【讨论】:

  • 是的,它应该可以再次工作了。如果有人继续遇到问题,请在bugreport.apple.com 提交错误报告
【解决方案3】:

我也面临同样的问题。在我的情况下,iMAC restart 对我来说效果很好。在 iMac 重新启动后创建构建,然后创建构建然后上传,它对我来说非常有效。

希望这会有所帮助...!!!

【讨论】:

  • 对您来说可能是个好时机。大多数人报告说,它终于在周四下午重新开始工作,他们不需要做任何事情。不过,很高兴你的现在正在工作。
猜你喜欢
  • 2020-12-16
  • 2021-02-15
  • 1970-01-01
  • 1970-01-01
  • 2019-11-11
  • 2016-02-05
  • 1970-01-01
  • 2022-07-20
  • 2015-05-27
相关资源
最近更新 更多