提问人:Malik Soban 提问时间:9/8/2023 更新时间:9/8/2023 访问量:53
如何将实时活动集成到 Objective C 项目中?
How to integrate Live Activity into Objective C projects?
问:
我有一个类似于 Uber Eat 的送餐应用程序,它是在 Objective C 中开发的,现在要求是实现实时活动来跟踪活动订单。当我尝试通过 Swift 进行实时活动时,它在所有 IOS 设备上都运行良好,但是当我通过桥接 Swift 和 Obj C 复制相同的代码,使用所有标准将该 swift 代码实现到 Objective C 中时,我在 Objective C 的实时活动功能中没有看到任何错误或警告, 但是即使我已经检查了我的应用程序的设置,我的应用程序显示它支持实时活动但没有视图,但在锁屏上看不到实时活动 UI。
有人可以帮助我了解如何将实时活动集成到 Objective C 项目中吗?
我在单独的应用程序中尝试了 Swift Code,它运行良好,并在模拟器和真实设备上显示实时活动。
我将相同的代码、相同的方法复制到我的旧 Objective C 项目中,但不会显示任何实时活动。甚至没有错误,没有警告。还在 Project info.plist 文件中将 NSSupportsLiveActivities 声明为 YES。还会在日志中获取活动注册令牌。但是在观看实时活动时,它不会显示在任何地方。
答:
你可以通过使用 Swift 桥接头来集成它,
让我解释一下,
在项目中添加实时活动小部件后,您将能够看到一个用于实时活动 UI 的 swiftUI 文件,现在您需要在 swift 中为“ActivityAttributes”创建一个 swift 文件,还需要创建一个 swift 文件,您将在其中实现实时活动所需的所有方法和代码,现在 crate 桥接标头以在 Objective C 项目中使用您的 swift 代码, 在 OBJ-C 视图控制器中导入 swift 文件,您可以在其中实现实时活动并根据您的功能缺陷调用所需的函数, 我已经在我的项目中实现了同样的方式,并且运行良好。
评论