-
Notifications
You must be signed in to change notification settings - Fork 18k
x/mobile: Info.plist not found for compiled xcframework #66018
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
cc @hyangah |
Anyone have a workaround for this? I can create the needed |
@scosman Could you please add possibility for users to pass parameter with an URL value of |
@Simon-Zeng I'm not a maintainer. Just trying to fix the same issue in my project, and get the info needed for the maintainers to make a quick fix. An alias won’t work as there are relative paths inside that top plist |
I've found a working fix manually. I think we need this built into the go mobile framework generator. Slightly confusing since it involves 2 Info.plist files. First one: the generated framework needs an
Second one: the existing Looks like Xcode 15.3 is expecting 2 properties here: CFBundleExecutable (the name of the static library file), and CFBundleIdentifier (a bundle ID, I use the same string as the CFBundleExecutable). Example:
There is a 3rd Info.plist at the root of the |
… plist formats in Appcore.xcframework This is a workaround, bug on gomobile team is here: golang/go#66018
This change adds compatibility for Xcode 15.3 to "gomobile bind" for building xcframeworks. - New blank Info.plist in the *.framework target root - Add CFBundleExecutable and CFBundleIdentifier to the resource level Info.plist Tested locally on my framework on Xcode 15.3 (fixes issue) and 15.2 (doesn't create new issues). Would love to get some more folks to try this fix, to make sure it works broadly.
@Simon-Zeng mind testing my PR with a fix? Instructions in the PR. |
Change https://go.dev/cl/572175 mentions this issue: |
It works for me. Thanks. |
This change adds compatibility for Xcode 15.3 to "gomobile bind" for building xcframeworks. - New blank Info.plist in the *.framework target root - Add CFBundleExecutable and CFBundleIdentifier to the resource level Info.plist Tested locally on my framework on Xcode 15.3 (fixes issue) and 15.2 (doesn't create new issues). Would love to get some more folks to try this fix, to make sure it works broadly. Note: I'm using the framework name as the bundleID. Some chance of collision here, but didn't want to add a required top level cmd parameter. I don't *think* a collision is a serious concern, but I'm not an apple build system expert. To test: - sync my branch - build go mobile: `go build` in the `cmd/gomobile` dir - Build your xcframework with this version of go mobile: `gomobile bind ... ` - Launch a project using the xcframework in Xcode 15.3, and run in simulator Fixes golang/go#66018 Change-Id: I3e8ee99adb09071aa89a541dc97271a44b552ea3 GitHub-Last-Rev: 6277c7d GitHub-Pull-Request: #96 Reviewed-on: https://go-review.googlesource.com/c/mobile/+/572175 TryBot-Result: Gopher Robot <gobot@golang.org> TryBot-Bypass: Hyang-Ah Hana Kim <hyangah@gmail.com> Reviewed-by: Hajime Hoshi <hajimehoshi@gmail.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Hajime Hoshi <hajimehoshi@gmail.com> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
This change adds compatibility for Xcode 15.3 to "gomobile bind" for building xcframeworks. - New blank Info.plist in the *.framework target root - Add CFBundleExecutable and CFBundleIdentifier to the resource level Info.plist Tested locally on my framework on Xcode 15.3 (fixes issue) and 15.2 (doesn't create new issues). Would love to get some more folks to try this fix, to make sure it works broadly. Note: I'm using the framework name as the bundleID. Some chance of collision here, but didn't want to add a required top level cmd parameter. I don't *think* a collision is a serious concern, but I'm not an apple build system expert. To test: - sync my branch - build go mobile: `go build` in the `cmd/gomobile` dir - Build your xcframework with this version of go mobile: `gomobile bind ... ` - Launch a project using the xcframework in Xcode 15.3, and run in simulator Fixes golang/go#66018 Change-Id: I3e8ee99adb09071aa89a541dc97271a44b552ea3 GitHub-Last-Rev: 6277c7d GitHub-Pull-Request: golang#96 Reviewed-on: https://go-review.googlesource.com/c/mobile/+/572175 TryBot-Result: Gopher Robot <gobot@golang.org> TryBot-Bypass: Hyang-Ah Hana Kim <hyangah@gmail.com> Reviewed-by: Hajime Hoshi <hajimehoshi@gmail.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Hajime Hoshi <hajimehoshi@gmail.com> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
@scosman We had another issue when using framework built with gomibile on Xcode 15.3, but not sure whether it is related to Or |
I'm seeing issues as well. Deploying to a real device gets and error: And on archive validation: Can you add your error messages here @Simon-Zeng |
@scosman 2, Regarding
p.s. Better use value 100.0 for |
@Simon-Zeng can you provide some more details on what you moved to work with 15.3? I could fix gomobile but need specifics |
Okay, got it from the docs!
This fixes several issues:
I'll prob open a new issue for this and try a fix next week. The hard part will be keeping macos compatibility. The old system was to use symlinks to make it both work in same format. Now we'll need to maintain conditional targeting based on platform. @hajimehoshi Any reason to not make this the new structure for iOS target? |
Follow XCFramework docs: https://developer.apple.com/documentation/bundleresources/placing_content_in_a_bundle?language=objc Will try to fix gomobile to elimiate the need for this: golang/go#66018 (comment)
New issue here for the issue under discussion: #66500 |
Starting from XCode 15.3, each framework must have Info.plist located directly under framework root, otherwise app won't be able to run on Simulator (iOS device with iOS 17.4 or later?).
i.e. ProtonMail/gopenpgp#271
We don't have
Info.plist
file under gopenpgp.xcframework/ios-arm64_x86_64-simulator/Gopenpgp.framework/.Could you please update procedure for "gomobile bind" to put an alias of Info.plist to framework root?
Thank you.
The text was updated successfully, but these errors were encountered: