在一个空项目中安装以下 Podfile:

use_frameworks!
platform :ios, '8.0'

pod 'ParseFacebookUtilsV4'

Xcode 报告三个编译错误:
/Users/benpackard/Cocoa/PodsTest/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.h:21:9: Include of non-modular header inside framework module 'FBSDKLoginKit.FBSDKLoginButton'/Users/benpackard/Cocoa/PodsTest/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginConstants.h:21:9: Include of non-modular header inside framework module 'FBSDKLoginKit.FBSDKLoginConstants'/Users/benpackard/Cocoa/PodsTest/Pods/ParseFacebookUtilsV4/ParseFacebookUtils/Internal/PFFacebookAuthenticationProvider.h:12:9: Could not build module 'FBSDKLoginKit'
use_frameworks! 选项从 Podfile 中删除时,项目编译没有问题。

我想知道这个问题的根本原因(大概是 pod 中的一些问题?)和可能的解决方法。

最佳答案

解决方法是添加

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)

10-08 05:17