Swift桥接头文件不适用于use_frameworks

AXS*_*XSM 13 ios cocoapods swift google-identity-toolkit

我正在尝试使用GoogleidentityToolkit库来处理登录的事情.我启用了use_frameworks!在我的pod文件上,但无法找到模块GITkit.我想知道发生了什么.据我所知,如果使用"use_frameworks",则不需要创建任何桥接头文件,因为cocoapods将库编译成单个模块,因此稍后您可以像往常一样导入*.swift文件.

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


在CocoaPods 1.0.0发布一周后(在CocoaPods 0.39.0仍然流行的时候)提出了这个问题,并且2015年可用版本的Google Identity Toolkit为1.1.3,但已被弃用以支持Firebase身份验证(pod 'FirebaseUI/Auth')遵循Google I/O 2016.

Pav*_*dhi 32

A)在项目的根文件夹中创建名为"ProjectName-Bridging-Header.h"的桥接头文件 .

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

  • "安装objective-c兼容标头":
  • "Objective-C Bridging Header":桥接头的路径(例如"ProjectName/ProjectName-Bridging-Header.h"

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

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


Bar*_*nat 9

上面的答案都不适用于我,或者不够精确.在Xcode 10.0(Swift 4.2)中,这个解决方案对我有用:

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

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

3.在Project Navigator中,单击项目的名称.

4.在最上面的栏中选择" 构建设置 ",在较低的栏中选择" 全部"和" 组合".

在此输入图像描述

5.在右上角搜索" Swift编译器 "

6.找到" Swift Compiler- General "选项卡,展开它,然后双击" Objective-C Bridging Header " 的右侧.

在此输入图像描述

7.您现在需要做的就是将您创建的桥接头文件拖到弹出窗口中,然后按Enter键.你们都准备好了!

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

  • 第6步:只需复制粘贴`$(SRCROOT)/$(PROJECT_NAME)/$(SWIFT_MODULE_NAME)-Bridging-Header.h`(无需拖动) (5认同)
  • 这里的拖放对我来说是最重要的部分,在 Xcode 10 之前我是复制文件路径 (2认同)

Map*_*psy 7

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

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

  • 请注意,对于“所有 Swift 项目”,情况正好相反。只需导航到 *File > New > File > Objective-C File* 并允许 Xcode 自动为您创建桥接头。 (2认同)

MS_*_*iOS 5

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