SDK 集成
注意:App Extension SDK 依赖于 啄木鸟 iOS SDK 1.0.8 及以上版本
提供两种集成 SDK 方式集成
通过 CocoaPods 集成
手动集成
通过 CocoaPods 集成方式
在工程的 Podfile 里对应的 Extension Target 中添加以下代码
pod 'WPKAppExt'
示例:
target 'ExtensionPodTest Today Extension' do
pod 'WPKAppExt', :podspec =>'http://image.uc.cn/s/uae/g/3w/woodpecker-sdk/WPKMobi/1.0.8/WPKAppExt.podspec.json'
end
保存并运行pod install
,然后用后缀为.xcworkspace
的文件打开工程
关于CocoaPods的更多信息请查看 CocoaPods官方网站
手动集成方式
- 下载并解压 iOS App Extension SDK
- 拖拽WPKAppExt.framework文件到Xcode工程内,如下图
- 勾选 Copy items if needed 选项
- 如有多个Extension Targets ,则一一进行勾选
初始化SDK
导入头文件
在工程的InterfaceController.h中导入头文件
#import <WPKAppExt/WPKAppExtSetup.h>
如果是其它类型的 Extension,请在入口的 ViewController.h 中导入
如果是 Swift 工程,请在对应的 bridging-header.h 中导入
初始化 Extension SDK
Today Extension,Share Extension 等,请在对应的ViewController.m的- (instancetype)initWithCoder方法中初始化, 暂时不支持Watch Extension
如果 Xcode 初始模板没有此方法,直接复制以下代码粘贴即可
- Objective-C ```objectivec
(instancetype)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
[WPKAppExtSetup startWithApplicationGroupIdentifier:@"此处替换为您的 App Group Identifier"];
}
return self;
} ```
Swift
required init(coder aDecoder: NSCoder) {
WPKAppExtSetup.startWithApplicationGroupIdentifier("此处替换为您的 App Group Identifier")
super.init(coder: aDecoder)
}
宿主App 的初始化设置
需要使用带applicationGroupIdentifier参数的start方法, 并传入你设置的App Group Identifier
[WPKSetup startWithAppName:@"xxxx" applicationGroupIdentifier:@"此处替换为您的 App Group Identifier"];