在查看了 iPhone SDK 文档之后,我还没有找到一种编写应用程序的方法,以便它可以在 iPhone 平台内以编程方式处理传入 SMS 消息的内容。这个想法是让这样的应用程序在后台运行,并且基于特定格式的 SMS 消息将能够采取特定的操作。
有人知道这是否可以通过 iPhone SDK 应用程序实现,如果可以,请提供有关如何完成此操作的信息的指针?
遗憾的是,您无法使用 iPhone SDK 拦截或收到通知接收的 SMS 消息。
一种可能的替代方法是注册一个自定义 URL 方案,当具有该方案的 url 嵌入到 sms 消息中并且用户点击它时,该方案启动您的应用程序。
要设置自定义 url 方案,您必须在应用程序的 info.plist 中实现 CFBundleURLSchemes 和 CFBundleURLName 键。
在您的应用程序的委托中,您可以实现 application:handleOpenURL: 方法以获取从 SMS 消息中的 url 传递给您的应用程序的任何参数。
我相信目前 SDK 不允许后台应用程序(苹果除外)。
BREW 和 J2ME 有(并且可能仍然有)通过特殊格式的 SMS 启动您的应用程序的方法,这可能是 Jeff 所指的。
Apple 确实有即将推出的 Push Server,它允许您向用户发送警报,让他们选择启动您的应用程序,但您不能为他们启动您的应用程序。
不幸的是,仅仅注册一个 URL 方案根本没有帮助你,因为 SMS 应用程序使“http://”url 只能点击......
您可以使用 CoreTelephony 框架。但您必须使用一些私有 api。我有一些演示代码。https://github.com/edison0951/AppNotifyBySMSDemo