xCode 7 error: include of non-modular header inside framework module with Google Maps

xCode 7 error: include of non-modular header inside framework module with Google Maps

我今天更新到 xCode 7.1 并尝试构建我的应用程序,但出现此错误:

我已经尝试进入 "Target" 下的构建设置并将 "Allow Non-modular Includes in Framework Modules" 设置为是,但这并没有解决这个问题。

更新:由于这阻止了我的编译并阻碍了我在开发方面的进步,我建议您从 Apple 下载旧版本的 xCode(https://developer.apple.com/downloads/ 确保登录)。您可以从 link 下载 7.0.1 版并至少继续开发。

这就是我所做的,我可以继续开发。

我知道这不是解决方法,而是针对希望继续开发的人的解决方法。

This thread 可能有用。

我尝试了一些方法,但不确定是哪一种方法解决了问题。 首先,我编辑了我的 Podfile 以包含:

post_install do |installer|
    installer.pods_project.build_configuration_list.build_configurations.each do |configuration|
        configuration.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
    end
end

然后,我添加了一个桥接头文件,只有一行:

#import <GoogleMaps/GoogleMaps.h>

清理并重建了项目,成功了。

我最终不得不创建一个 Objective-C 桥接头文件并添加 #import <GoogleMaps/GoogleMaps.h> 而我以前不需要一个,因为我在 Swift 项目中使用 Cocoapods 并且use_frameworks! 设置之前已经解决了这个问题。

以下是有关如何创建 Objective-C 桥接头文件的说明:(https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html)

Google 已将其 SDK 更新至 1.10.5,只需重新安装 Pod 即可正常使用。我遇到了同样的问题,现在在重新安装 pod 后所有问题都已解决。

https://forums.developer.apple.com/thread/23554

只需删除构建设置中的 header 搜索路径。在新的 Xcode 版本中(我猜是在 7.0 之后),您需要通过链接框架而不是直接链接 header 文件来查找 header。

对我来说,这个问题是通过以下方式解决的:

  1. 产品 > 清理 (cmd k)
  2. 产品 > 清理构建文件夹(cmd opt k)
  3. 产品 > 运行 (cmd r)