iOS App Extension

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

2、应用场景:

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

iOS App Extension_第1张图片

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

iOS App Extension_第2张图片

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

3、原理:

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

3.2 应用扩展的生命周期


iOS App Extension_第3张图片

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

iOS App Extension_第4张图片

4、开发中的注意事项


iOS App Extension_第5张图片

5、开发中的建议

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

5.2 Sharing Data with Your Containing App(App Groups)


iOS App Extension_第6张图片

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

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

你可能感兴趣的:(iOS App Extension)