CocoaPods / CocoaPods/Xcodeproj

Improve safety of Xcode private framework integration

Open
#276 9 comments 1 reaction 0 assignees View on GitHub
d2:moderate s3:detailed t1:enhancement
Dominant language
Ruby
Stars
2.4k
Forks
488
PR merge metrics
No merged PRs in 30d

Description

Following up the discussion from #275

Since we saw with Xcode 7 beta 2 that our use of Xcode's private frameworks is more prone to breakage than anticipated, we should make sure that Xcodeproj continues to work even when that integration breaks.

I like @alloy's proposal a lot that we explicitly define supported versions, the question is how strict should that be:
1. Use compatibility UUIDs Xcode provides: very reliable, as they change on any potential breakage, but that also means more frequent Xcodeproj releases would be required, one for every beta version as well as any new major/minor/patch version of Xcode
2. Use `major.minor`: we assume that it is unlikely for Xcode to break in patch releases or between betas, as the functionality we use is fairly minimal and shouldn't frequently change, but there's still a slight chance of breakage. Major advantage would be only having to update the compatibility list every other month.

In addition to that, we should have an environment variable `XCODEPROJ_NATIVE_SERIALIZATION` which allows explicit opt-in/-out by users if it is set to `yes`/`no`

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.