3

通知服务扩展在将远程通知传递给用户之前修改它的内容。例如,如果远程通知包含图像 URL,则可以使用通知服务扩展来获取图像并将其显示在通知内容中。

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

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

4

2 回答 2

3

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

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

于 2020-05-27T13:29:49.217 回答
1

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

于 2020-05-27T14:01:02.750 回答