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
fix(ios): ignore duplicate and unnecessary framework search paths #12146
Conversation
@sgtcoolguy I think this might also be worth considering for 9.2.1 |
New dependencies added: lodash.mergeAuthor: John-David Dalton Description: The Lodash method `_.merge` exported as a module. Homepage: https://lodash.com/
|
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.
LGTM
FR Passed. |
FR #2 passed. KitchenSink project builds as normal. Test environment |
JIRA: https://jira.appcelerator.org/browse/TIMOB-28158
This addresses two issues with framework search paths:
We used
appc.util.mix
to assign default build settings to theDebug
andRelease
build configurations in the Xcode project. This would assign theFRAMEWORK_SEARCH_PATHS
by references so they both used the same array which caused duplicate entries. Switching tolodash.merge
fixes this since it merges arrays recursively by value.In #12026 recursive search paths were added to handle the nested structure of XCFrameworks. This causes Xcode to construct huge framework search path arguments during the build since it would expand to every subfolder inside native modules. This article suggests that this is unnecessary since Xcode has a special build phase that automatically scans XCFrameworks and automatically selects the appropriate .framework for the current architecture without consulting
FRAMEWORK_SEARCH_PATHS
. This PR excludes adding recursive framework search paths to the build settings. I've tested it withti.map
andhyperloop
and i was still able to build without issues so it indeed seems that the recursive search paths are not required.