如何在 Swift 项目中使用 Objective-C CocoaPods
How to use Objective-C CocoaPods in a Swift Project
有没有办法在我的 Swift 项目中使用 swift 使用 Objective-C 编写的 CocoaPod?
我只做一个桥接头吗?如果是这样,我可以访问 Swift 中 CocoaPod 中的库定义的对象、类 和字段吗?
你只需要一个桥接头并导入你需要的东西。
您问题的基本答案是肯定的,您可以使用 objective-c 通过 CocoaPods 构建的代码。
更重要的问题是"How to use such libs?"
这个问题的答案取决于 Podfile
:
中的 use_frameworks!
标志
假设您想要使用名称为 CoolObjectiveCLib
的 Objective-C pod。
如果您的 pod 文件使用 use_frameworks!
标志:
// Podfile
use_frameworks!
pod 'CoolObjectiveCLib'
那么你不需要添加任何桥 header 文件。
您需要的一切都是 Swift 源文件中的导入框架:
// MyClass.swift
import CoolObjectiveCLib
现在您可以使用库中提供的所有 类。
如果您的 pod 文件不使用 use_frameworks!
标志:
// Podfile
pod 'CoolObjectiveCLib'
然后您需要创建桥接 header 文件并在其中导入所有必要的 Objective-C headers:
// MyApp-Bridging-Header
#import "CoolObjectiveCLib.h"
现在您可以使用导入的 header 中定义的所有 类。
在 podFile 中使用标志 use_frameworks
!
在依赖项的 Pod
文件夹结构中的 Xcode 中,在支持文件中添加 xxxxxxx-umbrella.h
。
在您的 {PROJECT_NAME}-Bridging-Header.h
中使用:
#import "xxxxxxx/xxxxxxx-umbrella.h"
对我有用。
并且不要忘记将 Bridging Header 文件名添加到 Target -> Build Settings -> Objective-C Bridging Header
有没有办法在我的 Swift 项目中使用 swift 使用 Objective-C 编写的 CocoaPod?
我只做一个桥接头吗?如果是这样,我可以访问 Swift 中 CocoaPod 中的库定义的对象、类 和字段吗?
你只需要一个桥接头并导入你需要的东西。
您问题的基本答案是肯定的,您可以使用 objective-c 通过 CocoaPods 构建的代码。
更重要的问题是"How to use such libs?"
这个问题的答案取决于 Podfile
:
中的 use_frameworks!
标志
假设您想要使用名称为 CoolObjectiveCLib
的 Objective-C pod。
如果您的 pod 文件使用 use_frameworks!
标志:
// Podfile
use_frameworks!
pod 'CoolObjectiveCLib'
那么你不需要添加任何桥 header 文件。
您需要的一切都是 Swift 源文件中的导入框架:
// MyClass.swift
import CoolObjectiveCLib
现在您可以使用库中提供的所有 类。
如果您的 pod 文件不使用 use_frameworks!
标志:
// Podfile
pod 'CoolObjectiveCLib'
然后您需要创建桥接 header 文件并在其中导入所有必要的 Objective-C headers:
// MyApp-Bridging-Header
#import "CoolObjectiveCLib.h"
现在您可以使用导入的 header 中定义的所有 类。
在 podFile 中使用标志 use_frameworks
!
在依赖项的 Pod
文件夹结构中的 Xcode 中,在支持文件中添加 xxxxxxx-umbrella.h
。
在您的 {PROJECT_NAME}-Bridging-Header.h
中使用:
#import "xxxxxxx/xxxxxxx-umbrella.h"
对我有用。
并且不要忘记将 Bridging Header 文件名添加到 Target -> Build Settings -> Objective-C Bridging Header