【问题标题】:Can't Build in Xcode 6 - ARC Issues in Apple Frameworks无法在 Xcode 6 中构建 - Apple 框架中的 ARC 问题
【发布时间】:2014-10-09 16:43:18
【问题描述】:

更新到 Xcode 6 后,我无法再构建我的应用程序。 Xcode 会抛出如下错误和警告:

错误:

/Applications/Xcode-6.0.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreData.framework/Headers /NSManagedObjectContext.h:121:5: 指向没有明确所有权的非常量类型“id”

警告:

/Applications/Xcode-6.0.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Foundation.framework/Headers /NSString.h:206:4: 警告:'__strong' 仅适用于 Objective-C 对象或块 指针类型;这里的类型是 'const char *' [-Wignored-attributes]

错误在 CoreData.framework 中,警告在 Foundation.framework 中。

这是我的构建日志的链接:http://pastebin.com/RCgV8Pj1

我尝试通过从 Frameworks 目录拖放以及 Project->Build Phases 中的添加按钮来删除和重新添加我的框架。两者都没有修复错误。我还尝试删除 SharedPrecompiledHeaders 目录。我也看到了this,但他的修复对我不起作用。我的项目中没有“框架”目录。我什至重新安装了 Xcode 6。

我认为这是某个地方的构建设置错误,但我不知道会发生什么变化或应该更新什么。最初使用 Xcode 6 后,我也无法在 Xcode 5 中构建,但我恢复了我的 xcodeproj,它在旧版本中运行良好。

【问题讨论】:

    标签: xcode automatic-ref-counting


    【解决方案1】:

    确保在项目设置或目标设置中的 FRAMEWORK_SEARCH_PATHS 中没有框架路径,因为它可能会导致从 iPhoneOS.platform 和 iPhoneSimulator.platform 中读取标头,从而导致编译期间出现警告并在链接期间导致错误。

    如果您在项目中添加/更改框架,并且一旦重建 Xcode 的缓存,您也将失去编译项目备份的能力,因为错误在 Xcode级别。

    见:

    My answer in '__strong' only applies to objective-c object or block pointer types; type here is XXX" warning

    【讨论】:

    • 我最终不得不为此使用支持票,但这基本上是他们对我的项目所做的更改。他们删除了 FRAMEWORK_SEARCH_PATHS 中的“$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks”和“$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS. sdk/usr/lib" 在 LIBRARY_SEARCH_PATHS 中。
    【解决方案2】:

    这似乎已通过升级到 OS X 10.10 GM 并重新安装 Xcode 6 得到解决。不确定哪一个实际上允许构建项目。

    [更新]这并没有永久解决问题。大约 5 天后它又回来了。

    【讨论】:

      猜你喜欢
      • 2014-07-25
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 1970-01-01
      • 2015-08-18
      • 2015-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多