将框架标头导入项目时总是会遇到问题。例如,我在这个截图上的小试用项目。导入Facebook SDK标题时我做错了什么?这是一个非常简单的步骤,但我无法找出它的错误。我甚至像Facebook开发者网站上那样一步一步地跟随。
编辑:抱歉,也许我不清楚。已设置桥接标头,并且我已在构建设置上设置桥接标头位置路径。这就是它产生错误的原因,因为它包含在编译中。问题是,通过导入Facebook SDK和桥接标题的当前设置,我无法将Facebook SDK导入桥接标题。我尝试的事情:
#import "FBSDKCoreKit/FBSDKCoreKit.h"
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import "FBSDKCoreKit.h"
#import <FBSDKCoreKit.h>
#import "FBSDKCoreKit.framework/FBSDKCoreKit.h"
#import <FBSDKCoreKit.framework/FBSDKCoreKit.h>
它们都不起作用(所有这些都会产生错误,就像屏幕截图一样,意味着桥接标题很好并且包含在编译中,但它无法找到我引用的标题)。
答案 0 :(得分:2)
制作一个Obj C桥接:文件 - &gt;新 - &gt;来源 - &gt;头文件 - &gt;命名为AppName-Bridging-Header。
添加以下内容(例如,在SDWebImage的情况下):
#ifndef AppName_AppName_Bridging_Header_h
#define AppName_AppName_Bridging_Header_h
#import <SDWebImage/UIImageView+WebCache.h>
#import "UIImageView+WebCache.h"
#endif
or
#import "UIImageView+WebCache.h"
注意:在Swift编译器中构建设置 - 代码生成,确保下面的Objective-C桥接头构建设置具有桥接头文件的路径。 - 它类似于testSD / testSD-Bridging-Header.h或testSD-Bridging-Header.h(打开Project文件夹并找到头文件路径)
@Chen:在您的情况下,请尝试添加“-ObjC”链接标记。
Select the project file from the project navigator on the far left side of the window.
Select the target for where you want to add the linker flag.
Select the “Build Settings” tab.Choose “All” to show all Build Settings.
Scroll down to the “Linking” section, and double-click to the right of where it says “Other Linking Flags”.
A box will appear, Click on the “+” button to add a new linker flag.
Type “-ObjC” (no quotes) and press enter.
答案 1 :(得分:1)
新文件 - &gt; iOS来源 - &gt; Objective-C文件 - &gt;输入任何内容(示例&#34; abc&#34;)名称 - &gt;接下来,创建 - &gt;将在顶部显示消息,选择Create Bridging Header - &gt;删除abc.h - &gt;单击ProjectName-Bridging-Header.h - &gt;导入 - &gt;光洁度。
答案 2 :(得分:1)
现在我找到了答案。问题是框架没有存储在项目文件夹中,而是存储在下载文件夹中。是的,Facebook开发指南告诉我直接从框架下载框架拖动框架,导入时我没有选中“复制文件,如果需要”复选框。从这个answer,我发现我需要填写框架基础文件夹的搜索路径,以便Xcode能够找到它。感谢大家的回答。