Swift桥接头文件无法使用use_frameworks

时间:2016-05-17 06:07:28

标签: ios swift cocoapods google-identity-toolkit

我试图使用GoogleidentityToolkit库来处理登录的事情。我启用了use_frameworks!在我的pod文件中,但无法找到GITkit模块。我想弄清楚要去做什么。据我所知,如果你使用" use_frameworks"你不需要创建任何桥接头文件,因为cocoapods将库编译成一个模块,所以稍后你可以像往常一样导入* .swift文件。

在Swift中使用Google Identity Toolkit库需要什么?

在CocoaPods 1.0.0发布一周后(在CocoaPods 0.39.0仍然流行的时候)问了这个问题,Google Identity Toolkit的可用版本从2015年开始是1.1.3,但在2016年Google I / O之后被推荐使用Firebase身份验证(pod 'FirebaseUI/Auth')。

6 个答案:

答案 0 :(得分:27)

A)创建一个名为的桥接头文件     项目的根文件夹中的“ProjectName-Bridging-Header.h”

B)转到项目构建设置并设置以下值:

  • “安装objective-c兼容性标题”
  • “Objective-C桥接标题”过桥标题的路径(例如“ProjectName / ProjectName-Bridging-Header.h”

之后,您可以使用头文件导入要在swift代码中使用的所有ObjectiveC文件。

注意:如果需要,在资源标头和Swift编译器搜索部分中将路径设置为递归。

答案 1 :(得分:8)

以上答案对我来说都无济于事或不够精确。 在 Xcode 10.0 Swift 4.2 )中,此解决方案对我有效:

1。。在项目的根目录中创建一个新的头文件。我不确定文件的名称是否真的很重要,但是Apple自动生成的桥接头文件的名称为“ ProjectName-Bridging-Header.h ”。

2。。将所需的所有导入添加到新创建的文件中。

3。。在项目导航器中,单击项目名称。

4。。在最上方的栏中选择“ 构建设置”,在较低的栏中选择 All Combined

enter image description here

5。。在右上角搜索“ Swift编译器

6。。找到“ Swift Compiler-General ”标签,将其展开,然后双击“ Objective-C桥接标题”的右侧。 >”。

enter image description here

7。。您现在要做的只是将创建的桥接头文件拖到弹出窗口中,然后按Enter。一切就绪!

*请记住,每次项目的直接路径更改时,您都必须更新桥接头的路径

答案 2 :(得分:4)

  1. 向Xcode添加新文件(文件>新>文件),然后选择“来源”并点击“标题文件”。
  2. 将文件命名为“YourProjectName-Bridging-Header.h”。
  3. 创建文件。
  4. 导航到项目构建设置并找到“Swift编译器 - 代码生成”部分。您可能会发现在搜索框中输入“Swift Compiler”以缩小结果范围会更快。注意:如果您没有“Swift编译器 - 代码生成”部分,这意味着您可能还没有将任何Swift类添加到您的项目中。添加一个Swift文件,然后重试。
  5. 在“Objective-C Bridging Header”旁边,您需要添加头文件的名称/路径。如果您的文件位于项目的根文件夹中,只需将头文件的名称放在那里。示例:“ProjectName / ProjectName-Bridging-Header.h”或简称为“ProjectName-Bridging-Header.h”。或者,只需将finid头文件从finder拖放到此空字段即可。这将自动添加桥接头文件的路径。
  6. 打开新创建的桥接头并使用#import语句导入Objective-C类。可以从swift类中访问此文件中列出的任何类。

答案 3 :(得分:4)

我发现的最简单方法是在XCode中创建一个假的.swift文件。这应该会提示自动创建桥接标题。

  1. 档案> > 文件 ...
  2. 对于文件类型,请选择 Swift
  3. 允许Xcode手动创建 Swift Bridging Header
  4. 删除您最初创建的.swift文件。

答案 4 :(得分:2)

Swift 4和Xcode 9.3

  1. 创建桥接头文件:

    • 的Xcode>文件/新建... /文件>头文件
    • 将文件命名为“ProjectName-bridging-header.h”
    • 保存到项目文件夹的根目录
  2. 的Xcode>转到Build Settings(在项目浏览器窗格中选择最顶层的项目,应该是您的项目名称,并在右侧窗格中选择“Build Settings”主题)

    • 在“Build Setting”下方,确保选中“All”和“Combined”
    • 在搜索框中输入“swift compiler”并找到“Objective-C Bridging Header”项目
    • 将其折叠并双击其右侧进行编辑
    • 在上面插入文件名1. - > “ ProjectName /ProjectName-bridging-header.h”(如果桥接文件保存在项目文件夹中,请注意文件夹路径)
  3. 包括#import所需的

答案 5 :(得分:0)

首先创建名为" projectname-bridging-header.h"的briding header文件。在您的项目根级别。

现在在构建设置中设置桥接头文件路径及其objc兼容性标头。

完成后,清理并构建项目工作正常。