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)