如何编写一个桌面应用程序与iPhone同步?

6
例如,我如何编写像senuti这样的程序?有没有可以用于此的库?如果我能在Python或.Net中完成这个任务就太理想了,但我也愿意尝试其他方法。
3个回答

4
有三种方法可供选择:
  1. 在您的iPhone应用程序中添加一些代码,充当某种类型的服务器(http,SMB等)。然后,您的mac / windows完整客户端应用程序可以通过wifi连接到此服务器。这是安全可靠的,但不幸的是,在同步时必须运行iPhone上的应用程序。

  2. 同步到“云”。例如:让您的iPhone应用程序将一些数据保存到互联网上的Web服务器上(您可以使用Amazon EC2,Windows Azure,甚至只是运行在便宜托管帐户上的PHP脚本),然后让您的Windows / Mac客户端也连接到此Web服务器来检索数据。这是最用户友好的,但需要您支付Web服务器的托管费用,并且对于大量数据来说可能不适用。

  3. 违反最终用户许可协议并尝试逆向工程iTunes与iPhone通信的方式。 这就是senuti的工作原理,但我不建议这样做,因为他们不断地不得不赶上苹果在其下面更改格式,并且如果苹果公司有时间起诉他们,他们可能会受到某种法律行动的影响。


4

我相信3.0版本将解决这个问题,因为它允许你为USB接口编写应用程序。在外部附件框架中查看一些相关文档。

尽管如此,它仍需要应用程序处于打开状态,因此基本上需要进行两次同步(如果你有多个应用程序,则需要更多次同步)。


您可以通过连接器访问硬件附件,但我不认为这会帮助您与桌面进行通信。 - Brad Larson

2

没有合法/官方的方法可以做到这一点。创建一个可以与iPhone同步的程序将违反您使用iPhone和iTunes时同意的最终用户许可协议。

不仅是非法的,而且也不可能可靠地实现。苹果公司随时都可以毫无预警地破解该方法,这基本上就是一场猫捉老鼠的游戏。

我只知道有一个类似的应用程序,它是iToner应用程序,可用于同步铃声。


iPhone上的'Things'应用可以实现这个功能。它在App Store上,因此苹果认为它是合法和适当的。 - ceejayoz
2
你并没有看到任何针对Senuti的诉讼,但如果它变得越来越受欢迎(甚至非程序员和技术极客都知道它),那么我敢打赌很快就会出现一起诉讼。 - Orion Edwards
OP的问题与通过电缆与iPhone同步,以提取信息(例如音乐)的iTunes类似。将iPhone应用程序与Mac应用程序同步与原始问题完全无关。 (因此,我不赞赏由于@ceejayoz错误理解原始问题而导致的不必要的负分。) - Kenneth Ballenegger
+1 这是一个不错的答案,Kenneth说得对。无论是否有争议。 - Kriem

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接