-
Notifications
You must be signed in to change notification settings - Fork 94
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
Add section around why we can only support all Frameworks or all Libraries #53
Comments
@mrackwitz / @neonichu could either of you please do this? |
I have to pass, because I am also not sure anymore about the reasons. |
According to @mrackwitz in Slack just now:
|
I think we should also explain somewhere in the guides why a pod containing Swift must be compiled as a framework and can't be a static library. The reason being because of ABI compatibility issues, as the runtime is evolving (this can simply be a simple link to this Apple's blog post but it needs to be mentioned somewhere in CP guides anyway IMHO) |
So essentially the rant that originally inspired this issue's filing was correct on the facts. It's not impossible to support both, it's just a question of effort.
|
Does this mean that you can not use a library like SSKeychain/AFNetworking with a framework like Alamofire on the same project via cocoapods? |
@scionwest no, since those libraries would be built as Frameworks :) |
Hmm, it's weird then why as soon as I add use_frameworks! the SSKeychain & LiveSDK (only two non-frameworks I have) can no longer have their types found. I get an 'identifier not found' compiler error. While AlamoFire works fire due to being a Swift framework. I remove use_frameworks! and AlamoFire can't be found but LiveSDK & SSKeychain can be. |
Probably worth making a stack overflow issue for this. As alamofire is a swift library it has to have |
I actually do already have an issue on Stackoverflow for this. http://stackoverflow.com/q/31103831/1815321 |
You should be using modular |
Yep, only module imports work in the bridging header when using frameworks. Also, you might want to get rid of the bridging header entirely, as it is unnecessary when using frameworks, they can be imported directly in Swift. |
That solved my issue perfectly. Thanks for the help! |
People will be confused. They will presume this is a choice we made for them, but without having the reasoning in the open then no-one knows why. I don't know why. This in part could go along with CocoaPods/CocoaPods#3029
The text was updated successfully, but these errors were encountered: