在一个空项目中安装以下 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)