创建并发布Cocoa Touch框架。
在本文中,我将演示如何在不共享源代码的情况下创建和分发Cocoa Touch Framework。
- Cocoa Touch框架与Cocoa Touch静态库。
- 创建可可触摸框架。
- 编写用于创建Cocoa Touch Framework的源代码。
- 测试框架而不发布
- 创建Pod规范文件。
- 验证.podspec文件。
- 发布Cocoa Touch Framework窗格。
- 发布后的测试框架。
答:静态库是已编译源文件的集合,这些源文件随后直接链接到应用程序的二进制文件中。 也就是说,它成为您应用程序二进制文件的一部分。 框架是一个独立的实体,其中包含一个二进制文件,该二进制文件包含已编译的代码(以及所有相关资源),而其本身就是一个独立的单元。
B.从iOS 8开始支持Cocoa Touch框架。 如果需要在iOS 8之前支持iOS版本,则应考虑使用Cocoa Touch静态库并在Objective-C中编写代码。
C. Cocoa Touch静态库不支持Swift。 因此,如果您决定使用Cocoa Touch静态库,则需要使用Objective-C。
D.与静态库相比,框架在项目中进行设置所需的手动工作更少。
A.创建可可触摸框架:
文件>新建>项目(命令+ shift + N),然后在iOS选项卡下选择Cocoa Touch Framework。
B.输入您的框架名称和其他详细信息。 根据需要选择语言Swift / ObjectiveC。
C.创建的框架看起来像。
A.创建新文件:
- 右键单击项目名称文件夹,然后选择“新建文件”。
- 在iOS标签下选择Swift文件。
- 输入文件名,然后单击创建按钮。
B.创建公共类:
C.通过使用任何iOS模拟器(与通用iOS设备类似)构建项目,为iPhone模拟器生成框架。
D.在Finder中显示框架。
A.为框架创建演示项目:
- 要创建演示项目,请依次选择文件>新建>项目(命令+ shift + N),然后在iOS选项卡下选择Single View App。
- 输入您的项目名称和其他详细信息。
B.将框架附加到您的项目中:
- 将框架拖放到“常规”部分中的“嵌入式二进制文件”。
- 将框架复制到项目中,然后单击“完成”按钮。
C.导入框架并调用其方法:
D.运行项目(命令+ R)。
Pod规范文件(.podspec文件)描述了Pod库的版本。 它包括有关应从何处获取源,使用哪些文件,要应用的构建设置以及其他常规元数据(例如其名称,版本,描述,主页,许可证,作者等)的详细信息。
有关podspec的更多详细信息,请阅读https://guides.cocoapods.org/syntax/podspec.html
A.要发布Cocoa Touch Framework,您需要创建podspec文件
- 要创建podspec文件,请打开终端,然后将目录更改为您的项目文件夹。
B.输入以下命令以生成.podspec。
pod spec创建demoTouchFrameFramework
C.对于源,您需要将包含框架的zip上传到您的服务器或AWS。
- 用于通过在Framework文件夹中运行命令来创建zip存档。
zip -r demoTouchFramework.zip demoTouchFramework.framework
D. demoTouchFramework.podspec文件:
- 要验证podspec文件,请在终端上运行以下命令。
豆荚皮棉
答:首先发布您的Pod,您需要通过运行命令来注册您的帐户。
吊舱中继注册YOUR_EMAIL_ID’YOUR_NAME’
现在,检查您的电子邮件并通过单击构型链接来确认您的CocoaPods会话。
现在,您的帐户已激活,您可以通过运行命令来发布可可豆荚。
吊舱主推push demoTouchFramework.podspec
答:创建新的演示项目或使用以前的项目(删除demoTouchFramework.framework)。
B.要创建podfile,请打开终端并将目录更改为项目文件夹,然后运行以下命令。
- 为了初始化豆荚
荚初始化
- 对于打开的Pod文件
打开podfile -a xcode
- 在podfile中写入pod名称
吊舱“ demoTouchFramework”
- 用于安装Pod和更新本地仓库
pod安装-重新安装更新
C.打开demoExample.xcworkspace并运行项目(命令+ R)。
是的! 我做到了。
A.在Objective C项目中使用Swift框架
- 在Objective C项目中运行框架时,它会导致崩溃:
- 要解决此问题,请转到“构建设置”>“搜索” swift”>“始终嵌入Swift标准库”的“是”选项。
- 要访问不是从NSObject继承的objc中的swift类,您需要@objc公共类,并且需要使用public类方法添加@objc。
- 下载框架项目
- 下载示例项目