是否有一种在ObjC中使用Swift库的简单方法?如果是,我该怎么做?
这里是我想要使用的库:https://github.com/matthewpalmer/Regift
顺便说一句,如果你们知道在iOS中将视频转换为动画gif的另一种方法。谢谢!
答案 0 :(得分:2)
你应该看看Apple的文件。
参考它,
将Swift代码从同一目标导入Objective-C
将该目标的Swift代码导入任何Objective-C .m文件 在该目标内使用此语法并替换相应的 名称:OBJECTIVE-C
import" ProductModuleName-Swift.h"目标中的Swift文件将在包含此导入的Objective-C .m文件中可见
语句。有关从Objective-C代码使用Swift的信息,请参阅 使用Objective-C中的Swift。
答案 1 :(得分:0)
Objective-C使用者-> Swift静态库
Xcode版本10.2.1
创建Swift静态库或创建Swift静态库Target
创建一个图书馆项目
File -> New -> Project... -> Cocoa Touch Static Library -> Enter necessary information and choose Language -> Swift
准备Objective-C库以使用Swift
公开的类应从NSObject
扩展(添加import Foundation
),公开的方法应具有@objc
批注
构建库并查找生成的输出(确保为与客户端代码相同的流程体系结构构建库)。
默认情况下,它将位于DerivedData
文件夹的子文件夹中。(如果在开发过程中删除DerivedData
,然后重新构建,则可以更改它
Products group -> lib<module_name>.a -> Show in Finder
目录包括
lib<module_name>.a
–内置的静态库include
文件夹,其中包括module_name
文件夹,其中包括.h
个文件-公共接口/定义和module_name.modulemap
文件使用Swift静态库
Link Binary With Libraries
Project editor -> select a target -> Build Phases -> Link Binary With Libraries -> add -> Add Others... -> point to `lib<module_name>.a` file
添加Library Search paths
Project editor -> select a target -> Build Settings -> Search Paths -> Library Search paths -> add path to the parent of `lib<module_name>.a` file
添加Header Search Paths
Project editor -> select a target -> Build Settings -> Search Paths -> Header Search Paths -> add path to the parent of `.swiftmodule` folder
将空.swift file
添加到Objective-C项目。当Xcode询问时,按创建Bridging Header
(它将创建module_name-Bridging-Header.h
)并在Project editor -> select a target -> Build Settings -> Swift Compiler - General -> Objective-C Bridging Header
path
时,可以定义到父文件夹之一的路径并设置recursive
(/**
将添加到路径的末尾)。例如,您可以使用path
参数将Build
删除到recursive
目录中。patch
包含空格-
,则应使用\
对其进行转义,或者将路径用双引号""
将模块导入到Objective-C客户端代码
#import "module_name-Swift.h"
Objective-C consumer -> Objective-C static library