реагировать на входящие смс на айфоне - PullRequest
3 голосов
/ 14 августа 2011

После исследования возможности программно читать входящие смс я понимаю, что это невозможно на стандартном iPhone.

Я исследую приложение, которое должно иметь следующую последовательность действий:

  1. Пользователь # 1 отправляет SMS-сообщение пользователю # 2 с определенным ключевым словом, может быть && XX &&
  2. Пользователь # 2 получает SMS-сообщения и на основании ключевого слова должно срабатывать что-тоПринимая во внимание, что невозможно заставить телефон автоматически работать с клавишами на основе смс-сообщений, возможно, можно будет что-то инициировать вручную при получении смс и использовании смс в качестве ввода.

    Мой вопрос: есть ли у кого-нибудь идеи о том, что возможно и / или каков наилучший способ использовать смс в качестве входных данных самым простым из возможных способов.

Ответы [ 4 ]

4 голосов
/ 14 ноября 2011

Я почти уверен, что это можно сделать только на взломанных телефонах.

Поместите этот список запуска в / System / Library / LaunchDaemons.Он будет запускать скрипт всякий раз, когда изменяется база данных sms.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>Label</key>
 <string>com.billybob.SMSremote</string>
 <key>ProgramArguments</key>
 <array>
 <string>/usr/sbin/script</string>
 </array>
 <key>Nice</key>
 <integer>20</integer>
 <key>WatchPaths</key>
 <array>
 <string>/private/var/mobile/Library/SMS/sms.db</string>
 </array>
</dict>
</plist>

Для сценария я бы использовал что-то вроде следующего, чтобы определить, есть ли сообщение, содержащее строку:

sqlite3 /var/mobile/Library/SMS/sms.db "select 'String Found' from message where text like '&&XX&&' order by date desc limit 1"

для всего сценария, может быть,

case $( sqlite3 /var/mobile/Library/SMS/sms.db "select 'String Found' from message where text like '&&XX&&' order by date desc limit 1" ) in 'String Found') sqlite3 /var/mobile/Library/SMS/sms.db "delete * from message where text like '&&XX&&'" ; commandscript;;esac

В словах заказа, когда строка найдена, удалите все сообщения, содержащие строку, и выполните командный скрипт.

Конечно, вам нужен взломанный телефон и sqlite из cydia.Тот же процесс можно выполнить и в других базах данных.Я не уверен, как бы вы сделали это без сценария оболочки, но я уверен, что это возможно.Я еще не тестировал скрипт, поэтому вы можете сделать копию своего sms.db перед попыткой.

4 голосов
/ 14 августа 2011

Нет, на не взломанном телефоне вы не можете получить никаких данных о SMS-сообщениях или телефонных звонках.Они полностью изолированы от вашего приложения.

3 голосов
/ 14 августа 2011

Да, но вручную через взаимодействие с пользователем, а не автоматически.Пусть ваше приложение зарегистрирует обработчик URL.Затем, если пользователь нажмет URL-адрес этой формы в SMS-сообщении, ваше приложение будет запущено.

0 голосов
/ 20 августа 2015

Если нет API для чтения входящих смс в iphone, то как работает код активации WhatsApp во время установки. К вашему сведению, при установке WhatsApp в iphone, на указанный вами номер мобильного телефона отправляется код активации, который автоматически используется WhatsApp для регистрации. Поэтому они как-то читают входящие смс и используют его для регистрации. Если это так, как это делается? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...