CocoaPods / CocoaPods/Xcodeproj
Improve safety of Xcode private framework integration
- 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.