现在我想将我的ObjC框架迁移到Swift,我收到以下错误:
include of non-modular header inside framework module 'SOGraphDB'
Run Code Online (Sandbox Code Playgroud)
引用是一个头文件,它只定义一个协议,我在一些类中使用这个头文件来使用这个协议.
似乎与模块功能有关,但目前还不太清楚如何修复,你知道一个解决方案吗?
更新:
这是一个Swift编译器错误.
更新2:
快速修复(但不解决根本原因)是将以下设置设置为yes:CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES
我在更新Facebook SDK 3到4时遇到问题
当我添加框架时,它已成功添加.但是当我添加头文件时,它的错误是"无法构建模块'FBSDKCoreKit'".不知道原因.

我按照本教程和/或Facebook SDK文档中的所有步骤在 我的应用程序上安装Facebook登录,但是当我运行代码时出现错误.虽然Facebook提到我可以使用import(Swift)来包含框架,但我尝试使用Objective-C Bridge Header来做旧时尚.
错误:
找不到'FBSDKLoginKit/FBSDKLoginKit.h'文件
屏幕截图
正如您所看到的,编译器正在读取bridge.h,但由于内部文件错误,它将引发错误.

Bridge.h
在Xcode 6中你不需要桥头文件,我可以这样做import
#import <FBSDKLoginKit/FBSDKLoginKit.h>
Run Code Online (Sandbox Code Playgroud)
这个问题是由Xcode 7 Beta引起的,我试图在Xcode 6上做到这一点,并且只与它完美配合import FBSDKLoginKit.任何人都可以告诉我这个黑客吗?或者如果有办法将我的Swift 2代码转换回1.4并使用Xcode 6.
我正在使用FBSDK在swift中编写iOS 8应用程序,以允许用户登录我的应用程序.到目前为止,我已经使用Briftging-Header.h文件在swift中使用FBSDK v3.25成功实现了登录功能,并根据FB开发人员网站上给出的说明更新了info.plist.现在我想创建一个应用程序(或更新我当前的应用程序)到FBSDK v4.01但是当我按照将它集成到我的应用程序的相同过程时,我得到以下错误:
-> FBSDKAppLinkResolver.h
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FacebookSDK/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h:21:9: Include of non-modular header inside framework module 'FBSDKCoreKit.FBSDKAppLinkResolver'
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FacebookSDK/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h:21:9: Include of non-modular header inside framework module 'FBSDKCoreKit.FBSDKAppLinkResolver'
-> Bridging-Header.h
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h:12:9: Could not build module 'FBSDKCoreKit'
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h:13:9: Could not build module 'FBSDKLoginKit'
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h:12:9: Could not build module 'FBSDKCoreKit'
->FBSDKLoginButton.h
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FacebookSDK/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h:21:9: Could not build module 'FBSDKCoreKit'
Failed to import bridging header '/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h'
Run Code Online (Sandbox Code Playgroud)
最值得注意的是最后一个错误,它表示无法找到桥接头,但它与我使用FBSDK 3.25时的位置相同?
此外,FaceBook开发人员网站上的所有文档和教程都是obj-c,因此找到解决方案是一个非常令人沮丧的过程.谁能帮助诊断我做错了什么?任何帮助表示赞赏!
更新
目前我已经设法按照Facebook开发人员门户网站上的说明编译我的应用程序,并通过在终端中运行以下命令从FBSDK中删除所有模块
rm -r ~/Documents/FacebookSDK/FBSDKCoreKit.framework/Modules/
rm -r ~/Documents/FacebookSDK/FBSDKLoginKit.framework/Modules/
rm -r ~/Documents/FacebookSDK/FBSDKShareKit.framework/Modules/
Run Code Online (Sandbox Code Playgroud)
这是我的解决方法,直到发布适当的修复程序.
在这个更改日志(facebook change-log)中,声明不需要为swift提供objective-c桥接头.
但是当我import FBSDKCoreKit在AppDelegate.swift中时出现这些错误:
FBSDKAppLinkResolver.h
/Users/[username]/Documents/FacebookSDK/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h:21:9:在框架模块'FBSDKCoreKit.FBSDKAppLinkResolver'中包含非模块化头
AppDelegate.swift
/Users/ashrafkholeif/Projects/xcode/TabbedApplicationTemplate/TabbedApplicationTemplate/TabbedApplicationTemplate/AppDelegate.swift:10:8:无法构建Objective-C模块'FBSDKCoreKit'
编辑:我甚至将框架模块中的allow非模块头设置为YES.