iOS framework制作 SDK制作
在桌面上新建文件夹 XXXSDK,然后Xcode新建workspace到该文件夹里
image.png现在项目结构如下:
image.png
打开XXXSDK.xcworkspace,File -> New -> Project
demo文件和framework文件都添加到XXXSDK.xcworkspace下
image.png
现在项目结构如下:
image.png
配置一下项目需要支持的系统和平台
image.png
修改Build Setting
的一些配置
Build Active Architecture Only
设为NO
Mach-O Type
为Static Library
下面开始创建bundle文件,不需要的可以跳过
image.png
创建好了后修改bundle
的Build Setting
的一些配置
Base SDK
设为iOS
,Build Active Architecture Only
设为NO
Installation Directory
的值删除掉
Versioning System
设为None
配置好后就可以往framework里面添加业务代码了
如图我添加了测试代码进来,如果有xib、图片、plist等资源文件,需要加到bundle里面去
image.png
把需要暴露的头文件拖到Public
下面
在这里引用头文件
image.pngXXXSDK
和XXXResource
分别点击对应的Edit Scheme
,把Build Configuration
设置为 Release
,XXXSDKDemo
也可以在这里设置为Release
image.png
接下来引入业务代码需要用到的pod库,不需要的可以跳过
打开终端,cd到主目录创建Podfile
文件
然后打开Podfile
,按以下格式输入需要的库,需要指明workspace
和project
,完成后pod install
use_frameworks!
platform :ios, '9.0'
workspace 'XXXSDK.xcworkspace'
target 'XXXSDKDemo' do
project 'XXXSDKDemo/XXXSDKDemo.xcodeproj'
pod 'AFNetworking'
pod 'MBProgressHUD'
end
target 'XXXSDK' do
project 'XXXSDK/XXXSDK.xcodeproj'
pod 'AFNetworking'
pod 'MBProgressHUD'
end
现在项目结构如下:
image.png然后打开项目编译一下bundle和framework
编译成功之后,在demo这里把framework加进来
image.png image.png这里设置为 Do Not Embed
在Build Phases
下面把bundle
文件添加进来
现在就可以在Demo里面正常访问SDK里面的文件和资源了
image.pngbundle
的info.plist
里面需要把Executable file
这项删除,不然上传提审会报错
到此SDK就制作完毕了,如果给别人用时,需要用到podSpec文件引入,参考我的之前的文章。https://www.jianshu.com/p/563df65430d8