Xcode Cloud 无法上传嵌入包依赖项的存档



在Xcode Cloud上存档应用程序后的帖子操作中,有一项任务设置为上传到TestFlight。它因错误而失败。

ITMS-90334: Invalid Code Signature Identifier. The identifier “XyzSDK-55554944d176df9a74f43236a8f1ccb71ea4d480” in your code signature for “XyzSDK” must match its Bundle Identifier “XyzSDK”

XyzSDK是一个通过Swift package Manager导入应用程序的包(右键单击项目>>添加包>插入存储库url(。

我还想知道,为什么导入到项目中的包在归档阶段后具有生成id的捆绑包标识符(55554944d176df9a74f43236a8f1ccb71ea4d480(。导致错误的。似乎很难编辑捆绑包标识符,因为它是一个包依赖项。

是否有禁用此功能?在导入包依赖项后,是否有遗漏的事情需要我做?还是Xcode云bug?

附言:我已经通过反馈助手将这个问题发送给了苹果,但目前没有回应。

这似乎是由将动态库作为Swift Package Manager依赖项引起的。如果你的目标是iOS,你需要确保你的依赖关系是作为静态库构建的。

一些Swift软件包有多个目标,因此根据依赖关系的具体情况,您可能需要替换您的软件包。Swift的targets->.target->CCD_ 4从类似CCD_ 5的东西变成类似[ .product(name: "XyzLibStatic", package: "xyzLib") ]的东西。

例如,今天我遇到了这种情况,因为我把这个库作为SPM依赖项:https://github.com/launchdarkly/swift-eventsource/blob/master/Package.swift

修复的目标是依赖关系的type: .static版本(LDSwiftEventSourceStatic(。

如果您愿意将框架更改为静态/不嵌入,请在此处找到解决方案:https://stackoverflow.com/a/73653319/1920561

最新更新