【问题标题】:iOS/Swift: Quick & dirty way to send a notification to another device?iOS/Swift:向另一台设备发送通知的快速而肮脏的方式?
【发布时间】:2022-07-24 02:26:23
【问题描述】:

我正在尝试编写一个超级简单的 iOS 应用程序,仅供个人使用(即它不需要符合任何 App Store 内容)。我希望它执行以下操作。假设它安装在两个我拥有/控制的设备上。

在设备 1 上,它有一个按钮,按下时会立即在设备 2 上弹出通知。

我可以硬编码特定的苹果 ID、设备 ID 等等;如果这仅在两个设备位于同一 LAN/Wifi 上时才有效,那也很好。我想要的只是让上述内容以最简单的方式工作,最好不需要在任何地方的服务器上运行任何东西。

实现起来有多简单?我之前建立了一个完整的推送通知系统,但这需要一些服务器端的东西。希望能够做到这一点,而无需任何这些。

====

更新:意识到我在原始帖子中并不清楚我需要设备 2 上的通知来弹出应用程序当前是否在该设备上打开/运行。

【问题讨论】:

标签: ios push-notification apple-push-notifications


【解决方案1】:

我认为您正在寻找的是多点连接框架。

Multipeer Connectivity 框架支持发现 附近设备提供的服务并支持与 这些服务通过基于消息的数据、流数据和 资源(例如文件)。在 iOS 中,框架使用基础设施 Wi-Fi 网络、点对点 Wi-Fi 和蓝牙个人区域 底层传输的网络。在 macOS 和 tvOS 中,它使用 基础设施 Wi-Fi、点对点 Wi-Fi 和以太网。

来源:https://developer.apple.com/documentation/multipeerconnectivity。

您也可以查看这些教程:

https://www.ralfebert.com/ios-app-development/multipeer-connectivity/

https://www.hackingwithswift.com/example-code/networking/how-to-create-a-peer-to-peer-network-using-the-multipeer-connectivity-framework

【讨论】:

  • 稍微澄清了这个问题——除非我误解了,听起来多点连接框架要求应用程序在两个设备上都打开,以便接收设备接收消息;在这种情况下,它不会为此工作。或者事实并非如此?谢谢!
  • 是的,我认为应用程序必须在两台设备的前台运行才能实现多点连接。所以在那种情况下,不幸的是我认为它不会起作用。
【解决方案2】:

发送短信到端口是一种方式(协议会变成短信):https://developer.apple.com/documentation/foundation/nsportmessage

也许 Firebase 远程配置可以帮助您:您可以从应用程序获取 FCM 远程配置(键值)中的数据: https://www.raywenderlich.com/17323848-firebase-remote-config-tutorial-for-ios https://firebase.google.com/docs/remote-config/get-started?platform=ios ,并且您可以随时修改您的数据,并且应用程序可以获取它。

【讨论】:

    【解决方案3】:

    我有类似的要求,而且似乎需要 APNS(Apple 推送通知服务),因为它是“激活”后台应用程序的唯一方法之一。

    结果,那么问题是如何让APNS尽可能的无痛?似乎将Firebase Cloud Messaging (or FCM)(用于管理 APNS/发送消息)和 Firebase Functions(用于帮助管理 FCM 服务器端要求)结合起来是一种不错的选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 2015-11-24
      相关资源
      最近更新 更多