【发布时间】:2017-04-12 21:54:35
【问题描述】:
我正在尝试在 Xcode 8.3 及更高版本中创建自定义 .platform 和 SDK。
我最终会尝试更新旧的 DarwinBuild 构建系统,以便我可以编译一些 Apple 开源组件。 DarwinBuild 曾经使用这种技术,以便能够针对一组不同的头文件和库进行编译,而无需 chroot。
DarwinBuild 包含一个安装脚本 installXcode32,它会在 Xcode 的 Developer/Platforms 目录下创建一个新的 .platform,并在平台的 Developer/SDKs 目录下创建一个新的 sdk。它还在正确的位置创建 Info.plist 和 SDKSettings.plist。此脚本需要一些更新才能与 Xcode 8.3 一起使用。
我知道这是不受支持的,但在这种情况下这并不重要。毕竟,Apple 发布了原始脚本...
我更新了原始 installXcode32 脚本以使用新的 Xcode 路径 (/Applications/Xcode.app/Contents/...),它生成新的 .platform、Info.plist 和 SDKSettings.plist,它们都是符号链接到正确的位置。但是,xcodebuild -showsdks 现在会产生此错误:
xcodebuild: error: Initialization failed.
Reason: Required content for platform darwin is missing.
我知道 Info.plist 和 SDKSettings.plist 文件有问题。我尝试复制整个 MacOSX.platform 目录,并更改 .plist 中的名称,但我得到了同样的错误。
有没有人足够了解 Xcode 和平台,知道需要什么才能让 Xcode 8.3+ 识别“新”平台和 sdk?
非常感谢!
【问题讨论】: