





























原文:https://ichochy.com/posts/swift/20190904.html
多语言并存时期,混编成为一种必须的方式 ,在多场景中实现OC和Swift语言的并存原来是如此简单
*.h新建一个桥接文件,New File 选择 Header File 创建
指定刚刚的新建的桥接文件
project->targets->Build Setting->All->Swift Compilter General->Objective-C-Bridging-Header

*.h)到桥接文件如:#import "Log.h"

Swift文件中直接调用
注:在Swift项目中第一次创建OC文件,Xcode会自动提示创建桥接文件
Famework创建完成后会生成一个同名头文件*.h
*.h)设置为公开头文件直接拖入
project->targets->Build Phases->Headers->Public

*.h)到同名头文件如:#import "Log.h"

在对外的Swift文件中直接调用

注:对外的类和方法必须 public 标示才可访问
Pod 包中实现混编在完成第二种场景后,添加*.podspec文件实现 Pod 包
*.podspec运行命令 pod spec create [name] 生成 *.podspec 文件
*.podspec在 *.podspec 中将OC头文件(*.h)设置为公开头文件
如:spec.public_header_files = "Log.h"
#完整的文件信息
Pod::Spec.new do |spec|
spec.name = "OCSwiftFramework"
spec.version = "0.0.1"
spec.summary = "OCSwiftFramework"
spec.description = <<-DESC
OCSWiftFramework
DESC
spec.homepage = "https://www.ichochy.com"
spec.license = "MIT"
# spec.license = { :type => "MIT", :file => "FILE_LICENSE" }
spec.author = { "MLeo" => "[email protected]" }
spec.platform = :osx
spec.osx.deployment_target = "10.10"
spec.source = { :git => "https://github.com/iChochy/HelloWorld.git", :tag => "#{spec.version}" }
spec.source_files = "**/*.{h,m,swift}"
spec.exclude_files = "Info.plist"
spec.public_header_files = "Flog.h"
spec.swift_version = "4.2"
end
*.podspec运行命令 pod lib lint 完成验证
a. 运行命令 pod trunk push [NAME.podspec] 完成发布
b. Podfile 中添加 pod "[name]"
c. 运行命令 pod install 完成 pod 安装
d. 安装完成后直接调用
注:可用 pod "[name]", :path => "[path]" 本地指定
HelloWorld:https://github.com/iChochy/HelloWorld.git
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。