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
feat(ios): support xcframeworks in modules/platform folders #12092
Conversation
Tests:
New dependencies added: simple-plistAuthor: Joe Wollard Description: A wrapper utility for interacting with plist data. Homepage: https://github.com/wollardj/node-simple-plist.git
|
iphone/cli/hooks/frameworks.js
Outdated
this._xobjs.PBXFileReference[fileRefUuid] = { | ||
isa: 'PBXFileReference', | ||
lastKnownFileType: 'wrapper.framework', | ||
lastKnownFileType: frameworkInfo.wrapperName, // FIXME: What if framework is an xcframework? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In case of xcframework it should be "wrapper.xcframework" .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the fixme comment can be removed, the correct file type will be returned here
@sgtcoolguy @vijaysingh-axway i added a couple of things to this PR:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't approve, only "comment", since I'm the original author 😆
Anyways, feedback is optional below. Looks good to me.
@@ -55,7 +61,12 @@ class FrameworkManager { | |||
post: (builder, callback) => { | |||
this._logger.trace('Starting third-party framework detection'); | |||
this._builder = builder; | |||
this.detectFrameworks().then(callback, callback); | |||
this.detectFrameworks().then(callback, e => { | |||
if (this._cli.argv.platform === 'ios') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why spit out the error stack trace only on iOS? Won't this always be true? Wouldn't we spit out the full error before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, it's kinda messy (surprise!). This has been an issue on both platforms until Josh refactored the whole Android build for the Gradle support. Now the Android build manually spits out the error here. The iOS build on the other hand has no special handling and relies on the default error handling in the common builder here which only prints out the error message, effectively suppressing the error stack.
a38adef
to
bf743bd
Compare
2fc9fbb
to
2c83c2c
Compare
- read metadata from xcframework packages Fixes TIMOB-27986
2c83c2c
to
aedb408
Compare
JIRA: https://jira.appcelerator.org/browse/TIMOB-27986
Description:
This adds support for integrating
.xcframework
s in the same manner we do.framework
s for app projects.I tested this while developing tidev/ti.barcode#134
It seems to properly integrate the ti.barcode module and the
ZXingObjC.xcframework
that module now includes (in it'splatform
folder on that PR). I fumbled through this a bit, so it may be doing some things wrong: