创建Framework

平时都是用Cocoapods创建私有库。最近技术群有一个小白不想用Cocoapods,给他写一篇教程。

  • 操作系统:MacOS 11
  • Xcode版本号: Xcode12.2
  • 平台: iOS14.2
  • 开发语言: Swift

新建 Cocoa Touch Framework

第一步:启动Xcode,依次点击File->New->Project

第二步:双击Framework & Library栏目下的Cocoa Touch Framework项。

第三步:Choose options for your new project窗口填写Project的相关信息。我们这里的Product NameChannelSDK。然后点击Next按钮。
第四步:选择 ChannelSDK Project的保存位置,并单击Create按钮。此时Xcode会打开当前Project窗口。

新建 Workspace

第一步:依次点击File->New->Workspace
第二步:将Workspace的名字填写为 ChannelSDK ,选择存储位置为第一步创建的 ChannelSDK Project 根目录下。

第三步:点击保存,此时Xcode会打开ChannelSDK Workspace窗口

第四步:在当前的 ChannelSDK Workspace 窗口,依次点击File->Add Files to “ChannelSDK”。选择ChannelSDK.xcodeproj文件,将之前创建好的Project添加到当前工作空间中。最后点击Add按钮

第五步:此时,ChannelSDK Workspace的目录结构如下图。如果仅仅只有一个工程文件,那么关掉Xcode,重新打开ChannelSDK WorkspaceChannelSDK Workspace文件名是ChannelSDK.xcworkspace

创建 Example 工程

第一步:启动Xcode,依次点击File->New->Project。双击App图标。

第二步:Product NameExample。然后点击Next按钮。

第三步:选择Example Project的保存位置为ChannelSDK Project同级目录,并单击Create按钮

第四步:出现下面窗口后,关闭该窗口

第五步:返回到ChannelSDK Workspace窗口,依次点击File->Add Files to “ChannelSDK”,选择Example.xcodeproj文件。

第六步:点击Add按钮,将Example Project添加到ChannelSDK Workspace中。

添加依赖关系

第一步:ChannelSDK Workspace窗口中,单击Example Target, 依次点击General->Embedded Binaries,单击添加(+)按钮。

第二步:找到ChannelSDK.framework,单击Add按钮。

ChannelSDK开发

第一步:选中ChannelSDK Project中的ChannelSDK Group,依次点击File->New->File。选择Cocoa Touch Class,点击Next按钮

第二步:填入Class为ChannelSDK,然后单击Next按钮,选择默认的保存位置

第三步:在ChannelSDK.swift中写个方法

1
2
3
public class func version() -> String {
return "\(ChannelSDKVersionNumber)"
}

第四步:在AppDelegate中调用

1
print("\(ChannelSDK.version())")

Objective创建Framework

跟Swift基本相同。但是在开发的时候,要注意

import的方式要用<>而不是""
在ChannelSDK.h中,声明公开的头文件

注意点

  1. ChannelSDK.h中的ChannelSDKVersionString[]值无参考意义,ChannelSDKVersionNumber可以设置