SwiftPM binaryTarget dependency and code signing

I'm working with the new 5.3 tools using Xcode 12 beta3 to create a library SwiftPM package. This library depends on another SwiftPM package that wraps a binary static xcframework defined as a binaryTarget. When I link to an application and try to run it on device, it fails to install with a no code signature found error. Before including the new library the application installed and ran on device fine so I'm assuming that this comes from the new library. The SwiftPM library package builds and tests just fine so I'm assuming that its the package for the xcframework that is introducing the issue. Since code signing doesn't seem to be addressed yet, is this just something that cannot be done at this time?

We not aware of this so far, would be great if you could file a bug report with a reproducible case. Thanks!

I'm working on a reproducible case. But as I did so I found out additional information. It isn't just adding the binaryTarget SwiftPM package dependency that is required to see the issue. It is the combination of the binaryTarget package and linking a binary framework (old style .framework, not .xcframework and not available as .xcframework yet sadly) that causes the problem. I've also reproduced the issue with other .frameworks, so it doesn't seem to be one specific framework that is causing the issue.

Bug report with attached test case created.
https://bugs.swift.org/browse/SR-13343

Additional issue/bug report filed here: https://bugs.swift.org/browse/SR-13345
Providing dynamic xcframeworks via SwiftPM binaryTarget packages also fail to execute on devices. The dynamic library is not found.

I have run into the same issue with a dynamic library XCFramework installed with Swift Package Manager:
Domain: com.apple.dt.MobileDeviceErrorDomain
Code: -402620388
--
No code signature found.

Comparing to manual installation of the framework, I see the same error when Xcode's Embed Settings are set to "Embed without signing".
Is there a way with the package manager to achieve the equivalent of setting "Embed & Sign"?

Terms of Service

Privacy Policy

Cookie Policy