一、工程Project
1)创建 App Project
2)添加 CocoaPods 的 Podfile 文件
source 'https://github.com/CocoaPods/Specs.git'
platform:ios,'10.0'
workspace 'WorkSpaceDemo'
def commonPods
pod 'AFNetworking'
pod 'YYKit'
pod 'MJExtension'
end
target "WorkSpaceDemo" do
project './WorkSpaceDemo/WorkSpaceDemo.xcodeproj'
commonPods
pod 'SDWebImage'
end
3)cd 到 Podfile 所在目录,pod install 实现工程的 CocoaPods 依赖
pod install --no-repo-update
二、模块Project
1)创建 Framework Project(Framework / Static Library)
2)将 Build Settings 的 Mach-O Type 改为 Static Library,使用静态库构建 Mach-O
3)添加 Framework Target 的 pod 配置,并 pod install 实现相应的 CocoaPods 依赖
target "FlowerKit" do
project './FlowerKit/FlowerKit.xcodeproj'
pod 'Masonry'
end
4)在 Framework Project 中提供给外部使用的能力,类头文件的 Target Membership 设置为 Public,否则在外部引用会报错
5)构建配置 Build Configuration 默认为 Debug,用于生产环境的 Framework 包需要改为 Release
6)选择 Framework Target 对应的 Scheme,Build - Any iOS Device / Any iOS Simulator Device,构建静态 Framework
7)导入工程中,Embed 保持默认 Do Not Embed
8)工程目录分布
三、API的调用
1)在 Framework 对应的 .h 文件中添加提供给外部使用的类声明
#import <Foundation/Foundation.h>
#import <FlowerKit/FlowerAPITest.h>
#import <FlowerKit/FlowerUtils.h>
//! Project version number for FlowerKit.
FOUNDATION_EXPORT double FlowerKitVersionNumber;
//! Project version string for FlowerKit.
FOUNDATION_EXPORT const unsigned char FlowerKitVersionString[];
2)在工程中引入 Framework 对应的 .h 文件声明,实现具体 API 的调用
#import "AppDelgate.h"
#import <FlowerKit/FlowerKit.h>
@implementation AppDelgate
- (void)test {
FlowerAPITest *apiTest = [FlowerAPITest new];
[apiTest test];
}
@end