Отсылка SMS на iPhone используя Private API

В общем, не знаю, насколько это правильно/не правильно, постить и шарить такие знания ;) Но, во-первых, я считаю, что Apple такое не пропустит (это раз). А во-вторых, эту информацию можно спокойно найти на просторах интеренета… Главное, ее скомбинировать. Результат объединения знаний, найденных здесь и здесь, вы можете прочитать в статье.

Используйте на свой страх и риск. Для меня это работало и решило мою задачу. Я не несу ответсвенность за то, как ВЫ это будете использовать ;)

Понадобится на самом деле совсем немного. Для начала находим и добавляем из библиотек CoreTelephony.framework. Так как header’ы для него отсуствуют (все-таки Private API), нам понадобится файл хедера, который мы заберем  у ericdasan. Все ненужные методы и структуры нам можно спокойно удалять. Нас интересует только вот этот метод :


 - (BOOL)sendSMSWithText:(id)fp8 serviceCenter:(id)fp12 toAddress:(id)fp16;

Дальше – все просто:


#import "CTMessageCenter.h"

....

 // SENDS SMS Without user prompt!!!
 // ServiceCenter - nil - по идее использует SMS-сервисцентр по умолчанию
 // Формат я не копал - потому что для меня задача решена ;) Но, скорее всего
 // здесь просто номер сервисного центра SMS
   [[CTMessageCenter sharedMessageCenter] sendSMSWithText:@"Cool!"
                                            serviceCenter:nil
                                                toAddress:@"+38091ХХХХХХХ"];

Исходный код прилагается

UPDATE: с версии 4.0 отсылка SMS стала немного проще с MFMessageComposeViewController правда, не так тихо как при помощи private API. :)

Комментарии

set

в 10:56, 22.01.2010

еще можно получать event о приходе нового SMS и читать его

http://www.ipodtouchfans.com/forums/forumdisplay.php?f=158

да весь этот код котороый описан выше должен выполняться из папки Application
а не из временной папки созданной XCode на девайсе

Артур

в 12:31, 28.01.2010

Спасибо за этот пост =) В прнципе, сейчас уже не требуется, пошли другим путем, но все равно очень интересно =) Побольше бы таких нюансов =)

Oleg

в 12:22, 29.01.2010

Артур, а каким путём пошли? Если не секрет.

Артур

в 12:51, 29.01.2010

Обмен сообщениями через свой сервер

mayodutradlor

в 9:17, 05.01.2012

Оставить комментарий