为Xcode 8.3 +

时间:2017-04-12 21:54:36

标签: xcode macos sdk darwin

我试图在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+识别" new"平台和sdk?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我非常成功地使用Xcode 9.4完成了此操作,就像您所做的一样。我改变了:

  • CanonicalName
  • PLATFORM_NAME
  • DisplayName