美文网首页
iOS 8 Share Extension需要注意的点

iOS 8 Share Extension需要注意的点

作者: Visitor | 来源:发表于2017-01-16 15:59 被阅读544次

    Share Extension 是 iOS 8 开发的,准确的说 Share Extension 只是一个寄存在 App 上的插件。通过沙盒实现Extension 和 App 之间的数据同步

    1、 数据同步有三种方式

    1、NSUserDefault // 比较适用于较小数组的存储,当数据大于20MB时,会造成界面卡顿,同步数据会有一定的延迟

    代码:

    // 注意这里的SHARE_APPGROUP为证书里设置的App Group
    NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:SHARE_APPGROUPS];    [defaults setValue:value forKey:key];
    

    2、NSFileManager // NSFileManager 和 Core Data 可按个人习惯使用

    代码:

    [NSFileManger defaultManager] containerURLForSecurityApplicationGroupIdentifier:
    

    3、CoreData

    2、自定义界面,iOS系统提供了源生的系统界面,但是界面比较不美观,如果想自定义界面的话,只需在plist文件里面修改NSExtensionPrincipalClasss属性为自定义的类名即可,如下图


    Extension01.png

    同时注意界面之间的跳转方式为:

    Extension02.png

    3、遇到的问题
    1.在设置Share Extension 的NSExtensionActivationRule时,注意每一个属性的类型,如下图:

    Extension03.png

    2.在 Apple 官网上配置 App Groups 时的ID即为 Share Extension 与 App 之间同步数据的key

    Extension04.png

    同时该key也需要在App targets --- Capabilities --- App Groups设置,如下图:

    Extension05.png

    3.倘若 App Share Extension 的名字为 ShareTarget, App 的 Bundle Identifier 为com.company.mobile, 那么 Share Extension 的 Bundle Identifier 就应该是: com.company.mobile.Share, 那么问题来了,缺少 Share 的描 Provisioning Profile,所以,应该在 Apple Deleloper上创建一个对应 Share 的 Provisioning Profile


    Extension06.png

    相关文章

      网友评论

          本文标题:iOS 8 Share Extension需要注意的点

          本文链接:https://www.haomeiwen.com/subject/iqewvttx.html