Skip to content
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

Upgrade project to Xcode 8.1 #71

Closed
wants to merge 14 commits into from
Closed

Upgrade project to Xcode 8.1 #71

wants to merge 14 commits into from

Conversation

1ec5
Copy link
Contributor

@1ec5 1ec5 commented Sep 15, 2016

This change upgrades project settings to Xcode 8.1, upgrades CocoaPods to 1.2.0.beta.1, and upgrades dependencies. It also fixes some build warnings.

Along the lines of mapbox/MapboxGeocoder.swift#66, this change sets the BITCODE_GENERATION_MODE build setting so that applications that link against this library can archive.

Depends on raphaelmor/Polyline#34.

/cc @boundsj

@1ec5 1ec5 added the bug label Sep 15, 2016
@1ec5 1ec5 self-assigned this Sep 15, 2016
@1ec5 1ec5 changed the title Set BITCODE_GENERATION_MODE Upgrade project to Xcode 8.1 Oct 28, 2016
@1ec5
Copy link
Contributor Author

1ec5 commented Oct 29, 2016

Building the library still fails with:

ld: bitcode bundle could not be generated because '/Users/mxn/Library/Developer/Xcode/DerivedData/MapboxDirections-edgcxadoaxriyleblulvzecsblrz/Build/Products/Debug-watchos/Polyline-watchOS/Polyline.framework/Polyline' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build for architecture armv7k

@1ec5
Copy link
Contributor Author

1ec5 commented Oct 29, 2016

@boundsj, any idea why setting BITCODE_GENERATION_MODE = bitcode in both MapboxDirections and Polyline causes both MapboxDirections and any downstream application to fail to link with the error in #71 (comment)?

@1ec5
Copy link
Contributor Author

1ec5 commented Oct 29, 2016

As usual, I forgot that CocoaPods puts together a different project than the one that’s checked into the Polyline repository. So raphaelmor/Polyline#34 had no effect. We probably have to introduce BITCODE_GENERATION_MODE = bitcode in the podspec for both projects.

@1ec5
Copy link
Contributor Author

1ec5 commented Oct 29, 2016

I see no instances of s.pod_target_xcconfig = { 'BITCODE_GENERATION_MODE' => 'bitcode' } in podspecs on GitHub, so that can’t be the right answer either.

@1ec5
Copy link
Contributor Author

1ec5 commented Oct 29, 2016

Now the watchOS archive step is failing on Bitrise with:

No mobileprovision_path found

Archiving locally works fine.

1ec5 added 2 commits October 29, 2016 13:50
The watch example now exercises the most common directions code to ensure that it at least compiles.
@1ec5
Copy link
Contributor Author

1ec5 commented Oct 29, 2016

Bitrise suggests flipping SKIP_INSTALL, but I think YES is the appropriate value for that setting, since this is a framework rather than an application. I reverted #85 and modified the watchOS scheme to analyze and archive WatchExample instead of a bare watchOS framework.

@1ec5 1ec5 mentioned this pull request Nov 7, 2016
2 tasks
@1ec5
Copy link
Contributor Author

1ec5 commented Dec 7, 2016

To get the watchOS tests passing again, I'll probably replace the existing analyze step with a Bash script step that runs xcodebuild build, since Bitrise doesn't provide a prepackaged step to do that.

@simonseyer
Copy link
Contributor

I guess this PR hast to be updated to reflect the changes made to the project setup in #102 (now merged into #64)

@1ec5
Copy link
Contributor Author

1ec5 commented Dec 9, 2016

#102 is only on the Swift 3 branch. I was holding out hope that we could publish a final Swift 2.3 release before cutting over to Swift 3, but that’s going to be less important if this drags on past the Xcode 8.2 release (the last release that supports Swift 2.3).

@1ec5
Copy link
Contributor Author

1ec5 commented Feb 19, 2017

Superseded by #108.

@1ec5 1ec5 closed this Feb 19, 2017
@1ec5 1ec5 deleted the 1ec5-bitcode-mode branch February 19, 2017 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants