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