xcworkspace结合cocoapods的应用说明

一、主工程Project

1)创建 App Project 

xcworkspace结合cocoapods的应用说明_第1张图片

2)添加CocoaPods的 Podfile 文件

source 'https://github.com/CocoaPods/Specs.git'
platform:ios,'10.0'

workspace 'WorkSpaceDemo'

def commonPods
    pod 'AFNetworking', '~> 4.0.1'
    pod 'YYKit','~> 1.0.9'
    pod 'MJExtension', '~> 3.1.0'
end

target "WorkSpaceDemo" do
project './WorkSpaceDemo/WorkSpaceDemo.xcodeproj'
    commonPods
    pod 'SDWebImage'
end

3)cd 到 Podfile 所在目录,pod install 实现工程的pod依赖

pod install --no-repo-update

二、模块/子工程Project

1)创建 Framework Project(Framework / Static Library / App)

xcworkspace结合cocoapods的应用说明_第2张图片

2)Build Setting中 Mach-O Type 由Dynamic Library改为 Static Library,使用静态库构建mach-o

xcworkspace结合cocoapods的应用说明_第3张图片

3)在Framework Project中提供给外部使用的能力,类头文件的 Target Membership 设置为Public,否则在外部引用会报错

xcworkspace结合cocoapods的应用说明_第4张图片

4)选择Framework Target对应的Scheme,Build - Any iOS Device 构建静态Framework;

xcworkspace结合cocoapods的应用说明_第5张图片

5)导入主工程中,Embed保持默认(Do Not Embed

xcworkspace结合cocoapods的应用说明_第6张图片

6)添加Framework Target的pod配置,并 pod install 实现相应的pod依赖

target "FlowerKit" do
project './FlowerKit/FlowerKit.xcodeproj'
    commonPods
    pod 'SSZipArchive'
end

target "LeavesKit" do
project './LeavesKit/LeavesKit.xcodeproj'
    commonPods
    pod 'SDWebImage'
end

target "FruitKit" do
project './FruitKit/FruitKit.xcodeproj'
    commonPods
end

7)工程目录分布 

xcworkspace结合cocoapods的应用说明_第7张图片

三、API的调用

1)在Framework对应的 .h文件中添加提供给外部使用的类声明

#import 
#import 
#import 

//! 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 

@implementation AppDelgate

- (void)test {
    FlowerAPITest *apiTest = [FlowerAPITest new];
    [apiTest test];
}

@end

你可能感兴趣的:(Objective-C,工作日常,xcworkspace,cocoapod,project,framework)