从Notification Service Extension中访问应用程序代码

时间:2019-05-21 20:59:10

标签: ios swift remote-notifications unnotificationserviceextension

Notification Service Extension在将远程通知传递给用户之前先对其进行修改。例如,如果远程通知包含图像URL,则Notification Service Extension可用于获取图像并将其显示在通知内容中。

但是如何在Notification Service Extension中访问实际的应用代码?假设我在应用代码中有一个DataAccess快速类,可以在Notification Service Extension中访问该类吗?

编辑:有些人建议将应用代码添加到服务扩展中,这不适用于我的情况。

2 个答案:

答案 0 :(得分:1)

转到要在应用程序项目中使用的类。在您的文件检查器上,您将看到课程的目标成员资格。选中扩展名名称复选框。然后,您可以重复使用代码。

您还可以在通知服务目标的 Build Phases-> Compiled Sources 中添加所需的类。结果是一样的。

答案 1 :(得分:1)

通常的解决方案是创建一个包含您的DataAccess类的库/框架,并且您的应用程序和Notification Service Extension使用此库/框架。 在添加到Notification Service Extension时,请确保为框架选择Do not embed,在将其添加到应用程序时,请选择Embed and sign