【问题标题】:Bonjour in the Background?卓悦在后台?
【发布时间】:2011-06-14 14:55:51
【问题描述】:

我注意到,iOS 的剪贴板应用 Pasteboard 可以在后台运行 Bonjour 服务。我不知道他们是如何实现的,所以我在互联网上搜索,然后发现它在后台播放无声文件。但现在不是这样,因为我在 iPod 管理屏幕上看不到应用程序图标。他们怎么能那样做?有任何想法吗?提前谢谢你。

凯。

【问题讨论】:

  • 您到底想实现什么 - 通过 Bonjour 或其他方式宣传您的服务?
  • 哇,这是我听过的最可怕的事情。所以手机在后台播放声音(不管它是否静音,CPU仍在处理它)只是为了获得框架中已经存在的剪贴板功能(UIPasteboard)。
  • 更不用说 Apple 在作为负责任的后台应用程序的一部分进入后台时明确表示要停止 Bonjour 服务。
  • @NickBull,@RyanR,@Thompsonian -- 你的 cmets 无关紧要 - 他要求一些非常实用的东西 - 也许他每半小时运行一次 bonjour 发现 ???它在垃圾邮件的限制 - 也许它用于越狱设备到家庭测试?还是他愿意冒被应用商店拒绝的风险?
  • @JamesRoeiter 我不确定我的评论是否无关紧要 - 我只是想了解更多关于他试图实现的目标的信息。

标签: iphone ios cocoa bonjour nsstream


【解决方案1】:

理论上,您可以连续将您的应用程序标记为needing to run in the background(用于 VoIP 或映射)。我在概念验证中做了一些事情,效果很好。

另外,this document 似乎记录了如何在后台建立网络。

【讨论】:

    【解决方案2】:

    在暂停之前取消任何与 Bonjour 相关的服务。当您的应用程序移动到后台时,在它被挂起之前,它应该从 Bonjour 注销并关闭与任何网络服务关联的侦听套接字。暂停的应用程序无论如何都无法响应传入的服务请求。关闭这些服务可以防止它们在实际不可用时看起来可用。如果您不自行关闭 Bonjour 服务,系统会在您的应用暂停时自动关闭这些服务。 https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多