iOS App Extension

1、File->New->Target中有Application Extension选项,实际开发中是起什么作用呢

2、应用场景:

2.1 爱奇艺的部分,是使用了 Today Extension,点击可以launch起app(openUrl方式,其他Extension不具备该功能)

2.2 在系统照片app中,可以直接发送照片到微信,是使用了Share Extension

2.3 搜狗键盘使用了Custom Keyboard Extension等

3、原理:

3.1 应用程序扩展:允许您将自定义功能和内容扩展到应用程序之外,并在用户与其他应用程序或系统交互时使其对用户可用。

3.2 应用扩展的生命周期


3.3 应用扩展的通信方式(比如照片app中使用了微信扩展,那么照片app是Host app,微信是Containing app),App extension虽然不能独立发布到app store,需要依附Containing app,但它是一个独立的二进制文件,独立的进程,运行时不依赖Containing app是否在运行

4、开发中的注意事项


5、开发中的建议

5.1 Using an Embedded Framework to Share Code(Containing app&App Extension)

5.2 Sharing Data with Your Containing App(App Groups)


5.3 Memory(应用扩展要注意性能,系统分配的资源相对较少,扩展程序内存占用过大容易被kill)

6、参考链接:https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/index.html#//apple_ref/doc/uid/TP40014214-CH20-SW1

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容