当启用 use_frameworks 后,使用 cocoapods 安装后无法构建 FBParseUtilsV4

4

在空的项目中安装以下Podfile:

use_frameworks! 
platform :ios, '8.0'

pod 'ParseFacebookUtilsV4'

Xcode报告了三个编译错误:

/Users/benpackard/Cocoa/PodsTest/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.h:21:9: 在框架模块“FBSDKLoginKit.FBSDKLoginButton”内包含非模块化标头

/Users/benpackard/Cocoa/PodsTest/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginConstants.h:21:9: 在框架模块“FBSDKLoginKit.FBSDKLoginConstants”内包含非模块化标头

/Users/benpackard/Cocoa/PodsTest/Pods/ParseFacebookUtilsV4/ParseFacebookUtils/Internal/PFFacebookAuthenticationProvider.h:12:9: 无法构建模块“FBSDKLoginKit”

当Podfile中的use_frameworks!选项被删除后,项目可以成功编译。

我想知道这个问题的根本原因(可能是pod中的某个问题)以及可能的解决方法。


这是我的开放性错误报告 https://github.com/ParsePlatform/ParseFacebookUtils-iOS/issues/2#issuecomment-147071071 - Ben Packard
1个回答

0
解决方案是添加

标签


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

在你的podfile文件末尾添加以下内容:

然后,通过终端输入:pod install

但是,在此之后我遇到了一个语义问题:未知类型名称 'FBSDK_EXTERN'

编辑:好吧,我只是在每个文件中删除了FBSDK_EXTERN(虽然我不确定这是否正确 :p)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接