-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Mixed language static frameworks #7519
Conversation
This is AWESOME |
@paulb777 all existing cases internally to you work? |
Yes, our internal cases - most of which are at https://github.com/firebase/firebase-ios-sdk - work with this after working around #7518 |
CHANGELOG.md
Outdated
@@ -8,6 +8,10 @@ To install release candidates run `[sudo] gem install cocoapods --pre` | |||
|
|||
##### Enhancements | |||
|
|||
* Mixed Objective C and Swift Static Frameworks |
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.
nit of nits two spaces after each entry
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'm wondering if a couple of other changes are necessary:
AggregateTarget#resource_paths_by_config
- the info plist generation
- integration specs?
CHANGELOG.md
Outdated
@@ -8,6 +8,10 @@ To install release candidates run `[sudo] gem install cocoapods --pre` | |||
|
|||
##### Enhancements | |||
|
|||
* Mixed Objective C and Swift Static Frameworks |
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.
Add support for mixed Objective-C and Swift static frameworks.
@@ -50,9 +50,6 @@ def install! | |||
create_info_plist_file(target.info_plist_path, native_target, target.version, target.platform) |
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.
do you also want to remove the manual plist generation step?
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.
yes, this unless
should be here - since the static frameworks are linked at build time, a plist is not needed.
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.
makes sense, it was there before static frameworks were a thing.
This needs to stay as it was there before static frameworks. Also needs rebase. |
Very cool 👍 |
closes #7213
closes #7307
Support static frameworks with a mix of Objective C and Swift
It turns out that solving this problem simplifies the static framework implementation. Instead of building a static library and moving files around to create a static framework, we now build a standard Xcode framework, but just force its library to be static - so Xcode will do all the file organization work.
I've verified that this fixes the mixed language examples from #7213, #7307 and #7413.