New file format for Xcode 8 and beyond (Affects SDK extraction) #8748

issue droark opened this issue on September 16, 2016
  1. droark commented at 11:33 PM on September 16, 2016: contributor

    Hello. This is more of an FYI than anything else. It's not a bug that needs to be fixed right away since Xcode 7.3.1's SDK can be extracted just fine.

    Starting with Xcode 8, Apple has moved over to a .xip file format. This is, AFAIK, a ZIP file with a signature and some other metadata. This throws off the script in #8617 which is used to extract the SDK. 7-zip can still extract the contents. However, it extracts three files: Content (the actual content), Metadata (plist stuff wrapped in XML), and [TOC].xml (includes the signature, certificates, and other data, and lists where to find the data in the contents). If you try to extract anything from Content, the program will probably choke since there's metadata at the front of it (and the end too, I think). Offhand, I'm not aware of any Linux tools that support XIP files, even though it should be relatively trivial with [TOC].xml providing guidance. Apple has a xip binary that can extract but that's not a realistic solution, even if it were open source.

    Anyway, I just wanted to bring this to everybody's attention. It might be worthwhile to add a note in the docs that people should stick to Xcode 7 for now. I'm happy to do that if it's okay.

    Thanks.

  2. josephbisch commented at 2:55 AM on September 17, 2016: none

    I was able to get an Xcode.app out of the .xip file by more or less following this guide. That guide shows the process on a Mac, but 7zip can be used on Linux if you don't have xar. Here is a link to the script used in the video.

    I imagine it is easy from there to get the SDK once you have the Xcode.app. But still, people should stick with Xcode 7 until this process is formalized into the SDK extraction script and it has had testing to verify this works.

  3. fanquake added the label MacOSX on Sep 17, 2016
  4. fanquake added the label Build system on Sep 17, 2016
  5. droark commented at 4:27 AM on September 17, 2016: contributor

    Thanks. Didn't know about any of that. Looks like it should work fine if anybody wants to go down that route. I'm sure the Core script will get upgraded eventually. For now, I just wanted to point it out so that people know it's a thing. The Core script can be revisited in a year or so. :) I'm just curious if it's worth pointing any of this out in the documentation.

  6. luke-jr commented at 12:02 PM on September 17, 2016: member

    The docs at least assume a specific Xcode version to extract from. I have no idea if you'd even get the same output if you tried to use a different version (I assume not).

  7. droark commented at 6:52 PM on September 17, 2016: contributor

    Yeah, I'm certain you wouldn't get the same output. Xcode 8 has a new SDK.

  8. laanwj closed this on Mar 6, 2018

  9. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-14 18:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me