【问题标题】:Can't build Textual IRC Client in XCode 4.5 on Mac OS X Lion 10.7无法在 Mac OS X Lion 10.7 上的 XCode 4.5 中构建文本 IRC 客户端
【发布时间】:2012-11-02 10:59:23
【问题描述】:

我正在尝试从source 构建Textual IRC Client

它在 4 月份为我工作,使用当时最新的源代码和最新的 XCode,在同一台 OS X 10.7 计算机上。现在不行了。

错误信息示例

  • 在“NSArray *”类型的对象上未找到读取数组元素的预期方法

  • 在“NSDictionary *”类型的对象上未找到读取字典元素的预期方法

  • 在“NSMutableDictionary *”类型的对象上找不到字典元素的预期方法

我已经在所有项目和目标的构建设置中关闭了代码签名(通过将Code Signing Identity 设置为Don't Code Sign),否则源代码是干净的。

【问题讨论】:

    标签: xcode macos build osx-lion xcode4.5


    【解决方案1】:

    这些错误是由于 Mac OS X 10.8 SDK 中引入的新功能造成的。他们中的许多人仍然是backwards compatible to Mac OS X Snow Leopard 10.6

    Textual 的 Base SDK 构建设置设置为 Current OS X。假设其他开发人员使用的是 Mac OS X Mountain Lion 10.8,他们将自动使用(当前最新的)10.8 SDK。即使 10.8 SDK 安装在 10.7 的机器上,编译器也会选择 10.7 SDK,因为这个依赖于操作系统的设置。

    修复:在 Textual 的构建设置中,将 Base SDK 更改为 OS X 10.8Latest OS X (OS X 10.8) 以便能够使用新功能。
    更改所有项目的设置并确认该设置已应用于各自的目标:主项目(文本)Blowfish 加密框架超链接处理器框架、Blowfish Key Control ExtensionBrag Spam Extension,最后是 System Profiler Extension。构建文本(标准版本)现在应该可以工作了。

    相关提交:Conversion to modern Objective-C 引入 10.8 SDK 功能。

    【讨论】:

    • 即使在 OSX 10.7 上将我的 SDK 更改为 10.8 w/ xCode 4.5 也无济于事。我仍然得到相同的 3 个错误。有什么想法吗?
    • @sjmh:您是否更改了所有项目的 Base SDK 并重新构建它们?还有一个目标级别,但我认为默认设置为10.6。
    • 我假设您的意思是所有目标?我将它设置在主项目上,这似乎将更改推送到所有目标(构建框架、清理、版本和实际的文本目标)。验证所有目标都将 BaseSDK 显示为最新。 imgur.com/yKw0g。我的错误略有不同(我得到一个读取数组错误,读取dict,读取dict),但似乎与同一个问题有关。
    • @smjh:我更改了所有项目的 Base SDK 并确认所有目标都已更改。刚刚从一个干净的 git 代码检查(包括清理构建输出)中验证了这一切,这将起作用。 (假设代码签名已被禁用。)
    • 好的,我想我明白了你的意思 - 当你说“所有”项目时,你的意思是你正在打开文本代码中提供的所有框架和附加组件的 xcodeproj 文件,并将 BaseSDK 设置为那些也是?是否有任何默认方法可以通过主 xcodeproj 执行此操作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多