xcode - 为 Xcode 8.3+ 创建自定义平台和 SDK

标签 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,它们都是符号链接(symbolic link)到正确的位置。但是,xcodebuild -showsdks 现在会产生此错误:

xcodebuild:错误:初始化失败。 原因:缺少平台 darwin 所需的内容。

我知道这是 Info.plist 和 SDKSettings.plist 文件的问题。我尝试复制整个 MacOSX.platform 目录,并更改 .plist 中的名称,但我遇到了同样的错误。

有没有人对 Xcode 和平台有足够的了解,知道需要什么才能让 Xcode 8.3+ 识别"new"平台和 sdk?

非常感谢!

最佳答案

我已经使用 Xcode 9.4 成功地完成了这项工作,就像您所做的一样。我改变了:

  • CanonicalName
  • PLATFORM_NAME
  • 显示名称

关于xcode - 为 Xcode 8.3+ 创建自定义平台和 SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43380276/

相关文章:

asp.net-mvc - 在 Mac 上运行 IIS 的最简单方法?

javascript - 如何使用 javascript sdk 调试 facebook connect 应用程序和 xfbml 解析?

ios - 'GADUNativeCustomTemplateAd' 错误没有可见的@interface

ios - Tableview - 标题重叠细节(Swift)

OS X 10.8 升级后 Python pip 损坏

macos - 为什么我升级到 OSX Yosemite 后不能用 gfortran 编译? gfortran 错误 : libgfortran. 规范:没有这样的文件或目录

php - 如何使用 Console Chrome 在 Facebook 中从 jQuery.post 发送和接收数据

java - Android 仅使用 API 20 : Android 4. 4 (KitKat Wear) 进行编译

ios - 如何将 NSPredicate 与多维数组一起使用(其中 predicateFormat 存在于 valueForKeyPath 中)

ios - 应用程序不再授权或在位置服务应用程序中列出