Skip to content

[CocoaPods] Add SQLite module map for each architecture #386

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

Merged
merged 1 commit into from
Mar 26, 2016
Merged

[CocoaPods] Add SQLite module map for each architecture #386

merged 1 commit into from
Mar 26, 2016

Conversation

cjwirth
Copy link
Collaborator

@cjwirth cjwirth commented Mar 26, 2016

Piggy-backing off of #380

☝️ What does this PR do?

This fixes the build problem where people were unable to build depending on what version of Xcode they were using. I know, it sounds bizarre...

✌️ How does it do it?

I split up the module maps up by architecture, and imported them in the private build settings (basically the same technique I mentioned in this comment)

📖 More Information!

While I was investigating, I downloaded both versions of Xcode (dmg and AppStore). The dmg version was fine. The AppStore version would build for devices, but not for the simulator. But! If I rearranged the order of the x86, arm, arm64 modules, I could get it to succeed/fail in building in the other way around!

So I thought, I don't know which version of Xcode is correct, but one of them is certainly buggy. But it would be better if it would build for anyone regardless of what version of Xcode they were using.

Yeah, it's a little disappointing to have more files like this to take care of, but I couldn't find another way to make a kind of 'conditional import'.

Plus! I've gotten it to successfully build on CircleCI, so that make me feel a little bit better! 😄

@acrookston
Copy link
Collaborator

This was the first time my build went through on the build server (trying out BuddyBuild). The previous solution only worked locally.

@stephencelis
Copy link
Owner

Round and round we go :)

This is similar to one of the first solutions I had to this problem. The way SwiftPM works makes it a more ideal candidate, too, so 👍.

@stephencelis stephencelis merged commit ca0043f into stephencelis:master Mar 26, 2016
@stephencelis
Copy link
Owner

Thanks for investigating! This Xcode update was rockier than I think we all hoped 😄

@cjwirth
Copy link
Collaborator Author

cjwirth commented Mar 26, 2016

Thanks 😄

Yeah I hadn't really followed all the changes as they started happening. I got sick the day after this all started, and just got better in time to pick up the rear end!

This Xcode update was rockier than I think we all hoped

Yeah, no kidding... In more ways than just this library too!

👍

@fuxx
Copy link
Collaborator

fuxx commented Mar 30, 2016

Hey :)
Looks good to me, but i am still wondered why this works without the umbrella header.

I try to apply the solution to my own project, but my project requires the umbrella header in the module map.

@stephencelis
Copy link
Owner

@fuxx I believe it's because this module map exists in addition to the generated one, with a different module name (CSQLite in this case).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants