-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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 Redefinition of module error in Xcode ≧ 8.3, Take 2 #482
Conversation
Is this fix ready to be merged? |
@shams-ahmed My PR supports the original Xcode project and cocoapods generated project, I think I don't have anything to add, do inform me if you find any bug, thanks |
This looks cool, Thanks! It would probably be best to test it with all 3 package managers (Swift Package Manager, CocoaPods, and Carthage). It is quite a process to get them to play nicely with the different dependencies (the commonCrypto and zlib) and It would be great if this removes that warning and simplifies all that building a bit 😄. |
Sure thing, will double check on the package manager and cart later when I'm free |
We ran into similar Starscream Carthage module redefinition build errors in ParseLiveQuery: |
@bayareahank may be you could help on verifying on Carthage to speed up accepting |
Sure. Disclaimer that I only used Carthage to pull directly from github before, if there is some pointers as to how to build with pull request, that would be helpful. |
@bayareahank try it from my branch |
I tried the change in ParseLiveQuery, the app build still runs into errors, though the detailed error message changed a bit from previous one. Previously it complains "redefinition of module 'SSCZLib' and module 'SSCommonCrypto', This time it fails to build Object-C module 'SSCZlib'. The detailed error message is: The steps I took are:
BTW, my set up is Xcode 9.3, Swift 4.1, Carthage 0.29.0, macOS 10.13.4 High Sierra. Cartfile: Cartfile.resolved: github "BoltsFramework/Bolts-ObjC" "1.9.0" |
Tried the hack in #445 by Bersaelor, -- manually remove the SSCZLib and SSCommonCrypto module definitions from Carthage/Checkout/Starscream/zlib/module.modulemap file after Carthage build, that solved the problem for me. FYI. |
# Conflicts: # Starscream.podspec
Thanks for the input @bayareahank, I have verified that it is working on Carthage also. @daltoniam By using SPM's What is the intended usage for SPM in this project? I thought SPM doesn't support iOS officially? |
The fix in #520 is more elegant, closing this one. |
Second attempt to fix this bug (first failed attempt:#465)
Using dynamic generated modulemap now to avoid the Xcode bug, according to Xcode 8.3 release notes:
Reference:
ResearchKit/ResearchKit#922
grpc/grpc#10355
Should can fix the error mentioned by @rhishikeshj in #361 (comment)