<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Apple Geek &#187; iPhone</title>
	<atom:link href="http://theapplegeek.ru/archives/category/iphone/feed" rel="self" type="application/rss+xml" />
	<link>http://theapplegeek.ru</link>
	<description>Чему ты научился сегодня?</description>
	<lastBuildDate>Thu, 02 Feb 2012 16:02:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Решение проблемы отсутствия настроек APN в iOS 5 beta 7 с помощью iPhone Configuration Utility</title>
		<link>http://theapplegeek.ru/archives/5674</link>
		<comments>http://theapplegeek.ru/archives/5674#comments</comments>
		<pubDate>Fri, 02 Sep 2011 08:21:27 +0000</pubDate>
		<dc:creator>ctrld</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://theapplegeek.ru/?p=5674</guid>
		<description><![CDATA[<p>Если вы, ваши коллеги или друзья являются разработчиками под iOS с активной подпиской на <a href="http://developer.apple.com/devcenter/ios/index.action">iOS Developer Program</a>, и при этом по работе должны откатывать программы под iOS 5 или просто достаточно любопытны, то скорее всего вы поставили вышедшую вчера версию iOS 5 beta 7 (думаю, что следующей версией будет GM, а не beta 8).</p>]]></description>
			<content:encoded><![CDATA[<p><b>UPD. Есть простой вариант решения вопроса &#8211; зайти на сайт <noindex><a rel="nofollow" href="http://www.unlockit.co.nz" >www.unlockit.co.nz</a></noindex> с iPhone. Там не было Utel, по моему запросу его добавили. Craig, спасибо за оперативность.</b></p>
<p>Если вы, ваши коллеги или друзья являются разработчиками под iOS с активной подпиской на <noindex><a rel="nofollow" href="http://developer.apple.com/devcenter/ios/index.action" >iOS Developer Program</a></noindex>, и при этом по работе должны откатывать программы под iOS 5 или просто достаточно любопытны, то скорее всего вы поставили вышедшую вчера версию iOS 5 beta 7.</p>
<p><span id="more-5674"></span></p>
<p>Несмотря на рекомендацию Apple устанавливать бета-версии только на выделенные для разработки устройства, это не всегда выполняется и многие их ставят на &#8220;боевые&#8221; iPhone и iPad, тем более, что это не beta 1 или 2, и шансы нормальной работы свежего iOS достаточно велики.</p>
<p>Всё было бы хорошо, но вот эти два экрана после установки меня не порадовали:</p>
<p><center><img src="http://images.theapplegeek.ru/wp-content/uploads/2011/09/02_beta7.png" alt="02-beta7" height="600" width="400"></center><br />
<center><img src="http://images.theapplegeek.ru/wp-content/uploads/2011/09/01_beta7.png" alt="01-beta7" height="600" width="400"></center></p>
<p>В свежей версии убрали возможность ручной настройки APN, а для &#8220;неофициальных&#8221; операторов это смерти подобно. Нет настройки APN &#8211; невозможно прописать настройки, специфичные для оператора &#8211; нет возможности установить PDP Context &#8211; Интернет доступен только по WiFi, точка.</p>
<p>Я проверял двух украинских операторов (Киевстар и Утел) &#8211; для обоих сервисы Интернет не работают.</p>
<p><i>Кстати, ошибок в этой версии хватает, например, перестали проигрываться музыка и подкасты. Я делал обновление через OverTheAir, и как раз в этом была проблема. По информации с Apple iOS Dev Forum (Adam Heeley) нужно переставить iOS через iTunes: &#8220;It would appear that most people having this issue have updated via OTA Delta. If you have this issue the correct fix is to backup your device and restore using the download IPSW. This will fix your issue. Please understand that Delta updates are VERY new to these devices so recoding can show unpredictable results when applied via OTA. The IPSW restore will in most cases rectify the problems by using a complete compiled version of the code rather than the Delta method (changing only parts of the OS)&#8221;.</i></p>
<p>Решить вопрос с APN можно, <noindex><a rel="nofollow" href="http://www.iphonewzealand.co.nz/2011/all/having-issues-with-your-apn-settings-under-ios-5-beta-7-heres-a-work-around/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=having-issues-with-your-apn-settings-under-ios-5-beta-7-heres-a-work-around" >имея &#8220;правильную&#8221; SIM-карту официального оператора</a></noindex>, например, Vodafone. Но сомневаюсь, что такая карта есть под рукой.</p>
<p>Есть более универсальный метод, подсказанный мне <noindex><a rel="nofollow" href="http://twitter.com/perlik81" >@perlik81</a></noindex> &#8211; iPhone Configuration Utility.</p>
<p>Иду на сайт Apple в раздел <noindex><a rel="nofollow" href="http://www.apple.com/support/iphone/enterprise/" >Enterprise</a></noindex>, выбираю интересующую меня версию &#8220;<noindex><a rel="nofollow" href="http://support.apple.com/kb/DL851" >iPhone Configuration Utility 3.3 for Mac OS X</a></noindex>&#8220;. Ставлю, запускаю (/Appliations/Utilities/iPhone Configuration Utility).</p>
<p>Configuration Profile, New. В General даю имя, идентификатор (мой домен ctrld.me, профайл назову apnfix, значит идентификатор me.ctrld.apnfix), описание.</p>
<p><center><br />
<img src="http://images.theapplegeek.ru/wp-content/uploads/2011/09/03_1_beta7.png" alt="03-1-beta7" height="301" width="600"><br />
</center></p>
<p>Advanced, прописываю нужный APN, имя пользователя и пароль. Настройки, конечно же, зависят от оператора и тарифного плана. Например, для Utel используются APN unlim.utel.ua или 3g.utel.ua (смотрите договор), для пакетных <noindex><a rel="nofollow" href="http://www.kyivstar.ua/personal/contract/services/internet/remote_connection/" >тарифов</a></noindex> Киевстар &#8211; www.kyivstar.net. <b>Внимание</b>, уточняйте настройки в договорах или у оператора, прописывание неправильного APN может привести в лучшем случае к отсутствию сервиса, а в худшем &#8211; к огромным счетам за Интернет, <a href="http://arwy.ru/blog/2010/10/27/030204394116.html" >прецеденты были</a>.</p>
<p><center><br />
<img src="http://images.theapplegeek.ru/wp-content/uploads/2011/09/04_1_beta7.png" alt="04-1-beta7" height="308" width="600"><br />
</center></p>
<p>Share, Security: None, отсылаю настройки по email (да, у вас должен быть WiFi):</p>
<p><center><br />
<img src="http://images.theapplegeek.ru/wp-content/uploads/2011/09/05_beta7.png" alt="05-beta7" height="502" width="600"><br />
</center></p>
<p>По идее можно установить профайл напрямую на устройство через эту же утилиту, но у меня почему-то не получилось.</p>
<p>Перехожу к iPhone, проверяю почту:</p>
<p><center><br />
<img src="http://images.theapplegeek.ru/wp-content/uploads/2011/09/06_beta7.png" alt="06-beta7" height="600" width="400"><br />
</center></p>
<p>Устанавливаю:</p>
<p><center><img src="http://images.theapplegeek.ru/wp-content/uploads/2011/09/07_beta7.png" alt="07-beta7" height="600" width="400"></center></p>
<p><center><img src="http://images.theapplegeek.ru/wp-content/uploads/2011/09/08_beta7.png" alt="08-beta7" height="600" width="400"></center></p>
<p>Для гарантии включаю/выключаю Airplane Mode, запускаю браузер, доступ в Интернет заработал:</p>
<p><center><img src="http://images.theapplegeek.ru/wp-content/uploads/2011/09/09_beta7.png" alt="09-beta7" height="600" width="400"></img></center></p>
<p>Удалить профиль можно в Preferences/General/Profiles.</p>
<p>Я не нашёл, как настроить MMS. Лично мне достаточно email, <noindex><a rel="nofollow" href="http://www.whatsapp.com/" >WhatsApp</a></noindex> и <noindex><a rel="nofollow" href="http://www.apple.com/ios/ios5/features.html#imessage" >iMessage</a></noindex>, а MMS, впрочем, как и Duke Nukem, должен умереть.</p>
<p>Если вы не хотите возиться с iPhone Configuration Utility, то можете списать и переслать по почте готовые профили:</p>
<ul>
<li><noindex><a rel="nofollow" href="http://dl.dropbox.com/u/243759/Site/20110902/APN%20Fix%20Kyivstar%20www.kyivstar.net.mobileconfig" >Киевстар APN www.kyivstar.net</a></noindex></li>
<li><noindex><a rel="nofollow" href="http://dl.dropbox.com/u/243759/Site/20110902/APN%20Fix%20Utel%203g.utel.ua.mobileconfig" >Utel APN 3g.utel.ua</a></noindex></li>
<li><noindex><a rel="nofollow" href="http://dl.dropbox.com/u/243759/Site/20110902/APN%20Fix%20Utel%20unlim.utel.ua.mobileconfig" >Utel APN unlim.utel.ua</a></noindex></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://theapplegeek.ru/archives/5674/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Как узнать собственный номер абонента Utel 3G (UA, 25507)</title>
		<link>http://theapplegeek.ru/archives/5611</link>
		<comments>http://theapplegeek.ru/archives/5611#comments</comments>
		<pubDate>Thu, 18 Aug 2011 05:23:03 +0000</pubDate>
		<dc:creator>ctrld</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[3G]]></category>

		<guid isPermaLink="false">http://theapplegeek.ru/?p=5611</guid>
		<description><![CDATA[<p>Недавно понадобилось узнать номер (MSISDN), присвоенный SIM-карте оператора Utel 3G Украина. На помощь пришёл USSD.</p>]]></description>
			<content:encoded><![CDATA[<p>Недавно понадобилось узнать номер (MSISDN), присвоенный SIM-карте оператора Utel 3G Украина.</p>
<p><span id="more-5611"></span>
<p>Отослать SMS или позвонить на другой номер было невозможно &#8211; не было денег на счету. Немного покопавшись в Интернет, нашёл полезный USSD-код, показывающий собственный номер телефона: *145#.</p>
<p><b>Сразу замечу, что этот код действителен только для Утел и статус его неизвестен, раскопали его любопытные люди. В сетях других операторов этот код может значить совсем другое, например, вы можете получить платную услугу. Так что если вы не абонент Utel (Ukraine), то не испытывайте этот номер, а покопайтесь в Google.</b></p>
<p><center><img src="http://images.theapplegeek.ru/wp-content/uploads/2011/08/01_ussd.png" alt="01-ussd" height="600" width="400"></center></p>
]]></content:encoded>
			<wfw:commentRss>http://theapplegeek.ru/archives/5611/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Любителям ранней установки девелоперских iOS посвящается</title>
		<link>http://theapplegeek.ru/archives/5429</link>
		<comments>http://theapplegeek.ru/archives/5429#comments</comments>
		<pubDate>Tue, 07 Jun 2011 06:53:22 +0000</pubDate>
		<dc:creator>ctrld</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://theapplegeek.ru/?p=5429</guid>
		<description><![CDATA[<p>Devices updated to iOS 5 beta can not be restored to earlier versions of iOS. Devices will be able to upgrade to future beta releases and the final iOS 5 software.</p>]]></description>
			<content:encoded><![CDATA[<blockquote style="clear: both"><p style="clear: both">Devices updated to iOS 5 beta can not be restored to earlier versions of iOS. Devices will be able to upgrade to future beta releases and the final iOS 5 software.</p>
</blockquote>
<p style="clear: both">Это информация из &#8220;Read Me Before Downloading&#8221; на developer.apple.com. Объяснять, думаю, не нужно.</p>
<p><strong>Обновление.</strong> На TUAW <noindex><a rel="nofollow" href="http://www.tuaw.com/2011/06/06/if-you-install-ios-5-you-cant-go-back/" >сообщили</a></noindex>, что с помощью <noindex><a rel="nofollow" href="http://thefirmwareumbrella.blogspot.com/" >TinyUmbrella</a></noindex> можно откатиться от iOS 5 beta 1 к 4.3.3. Примерно таким же образом <a href="http://theapplegeek.ru/archives/4102" >я откатывался</a> от 4.0 к 3.1.3.</p>
]]></content:encoded>
			<wfw:commentRss>http://theapplegeek.ru/archives/5429/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Отзыв о программе учёта персональных финансов Cash Trails</title>
		<link>http://theapplegeek.ru/archives/5358</link>
		<comments>http://theapplegeek.ru/archives/5358#comments</comments>
		<pubDate>Sat, 07 May 2011 21:36:44 +0000</pubDate>
		<dc:creator>ctrld</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[finance]]></category>

		<guid isPermaLink="false">http://theapplegeek.ru/?p=5358</guid>
		<description><![CDATA[Заметка возникла при написании review в AppStore по программе Cash Trails. Пишу с iPhone, поэтому картинок не будет.

Учётом и анализом персональных финансов я занимаюсь очень давно. Наверное, с palm m515. На Pocket PC идеальной программой был Cash Organizer. На iPhone же идеала до сих пор нет.]]></description>
			<content:encoded><![CDATA[<p>Заметка возникла при написании review в AppStore по программе Cash Trails. Пишу с iPhone, поэтому картинок не будет.</p>
<p>Учётом и анализом персональных финансов я занимаюсь очень давно. Наверное, с palm m515. На Pocket PC идеальной программой был Cash Organizer. На iPhone же идеала до сих пор нет.</p>
<p>Долгое время пользуюсь iBank &#8211; приложение под iPhone удобно только для записи трат, даже базовый анализ провести нереально. А что уже говорить о многовалютности &#8211; в программе 1$=1£=1грн.<br />
Дальше был Money iQ. Программа тяжеловесно выполняется, но красива и хороша. Приложения под Mac/PC нет. Зато на одном экране видна статистика, удобно вводить транзакции и проводить анализ.<br />
А вот многовалютность&#8230; Для переводов берётся не тот курс, который был на момент перевода, а текущий. В итоге баланс прыгает и нужно заниматься подводкой. Глупо.<br />
Два месяца я вводил транзакции в iBank и Money iQ</p>
<p>И вот мне активно понадобились многовалютность&#8230; Карты с базовой валютой гривна и доллар, наличные евро, а траты &#8211; в фунтах. Я с ужасом подумал, как придётся &#8220;изголяться&#8221; с iBank и Money iQ.</p>
<p>И тут вспомнил о Cash Trails. Ввёл пару счетов в разных валютах, сделал тестовые транзакции. И, о чудо &#8211; всё работает, как нужно!<br />
А давно желаемая функция разбивки по проектам (она была в CashOrg) &#8211; наконец-то можно увидеть затраты и их структуру по всем поездкам.</p>
<p>Я уже задумался сделать конвертацию данных из iBank в Cash Trails за несколько лет &#8211; настолько мне CT нравится.</p>
<p>Доволен. Спасибо за отличную программу.</p>
]]></content:encoded>
			<wfw:commentRss>http://theapplegeek.ru/archives/5358/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Messages.app и &#8220;Could not activate cellurar data network&#8221;</title>
		<link>http://theapplegeek.ru/archives/5354</link>
		<comments>http://theapplegeek.ru/archives/5354#comments</comments>
		<pubDate>Wed, 04 May 2011 09:41:34 +0000</pubDate>
		<dc:creator>ctrld</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://theapplegeek.ru/?p=5354</guid>
		<description><![CDATA[Мне часто приходится писать SMS с iPhone, и периодически я это делаю, заходя в метро. И вот это сообщение мне не давало покоя: Зачем iPhone пытается соединиться с сетью передачи данных, если SMS ходят далеко не по IP, а MMS у меня не настроены? Изучив вопрос, я выяснил, что при открытии Messages.app никакого обмена, кроме [...]]]></description>
			<content:encoded><![CDATA[<p>Мне часто приходится писать SMS с iPhone, и периодически я это делаю, заходя в метро. И вот это сообщение мне не давало покоя:</p>
<p style="clear: both"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/05/01-dat-thumb.png" height="450" width="300" style=" text-align: center; display: block; margin: 0 auto 10px;" /></p>
<p><span id="more-5354"></span></p>
<p>Зачем iPhone пытается соединиться с сетью передачи данных, если SMS ходят далеко не по IP, а MMS у меня не настроены?</p>
<p>Изучив вопрос, я выяснил, что при открытии Messages.app никакого обмена, кроме как с сервером Mobile.Me, не ведётся. Отключил синхронизацию контактов Mobile.Me &#8211; надпись перестала появляться.</p>
<p>Всё логично &#8211; при запуске Messages.app нужно убедиться, что контакты актуальны, и если они синхронизируются с Mobile.Me/Exchange/Google, то iPhone пытается соединиться с этими серверами. А если соединиться невозможно из-за отсутствия пакетного сервиса в метро, то обновление не пройдёт и выдастся сообщение, которое привело к моему желанию разобраться с этим вопросом.</p>
]]></content:encoded>
			<wfw:commentRss>http://theapplegeek.ru/archives/5354/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Извлечение файлов ресурсов из приложений iOS и декодирование изображений png</title>
		<link>http://theapplegeek.ru/archives/5298</link>
		<comments>http://theapplegeek.ru/archives/5298#comments</comments>
		<pubDate>Mon, 11 Apr 2011 06:51:41 +0000</pubDate>
		<dc:creator>ctrld</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[developer]]></category>

		<guid isPermaLink="false">http://theapplegeek.ru/?p=5298</guid>
		<description><![CDATA[Если вам вдруг захотелось достать из приложения iOS понравившуюся картинку, то это хоть и не элементарно, но вполне возможно. Почему не элементарно? Потому что по крайней мере часть png-файлов невозможно просмотреть из-за особенностей адаптации их под видеопамять iPhone и iPad.]]></description>
			<content:encoded><![CDATA[<p>Если вам вдруг захотелось достать из приложения iOS понравившуюся картинку, то это хоть и не элементарно, но вполне возможно. Почему не элементарно? Потому что по крайней мере часть png-файлов невозможно просмотреть из-за особенностей адаптации их под видеопамять iPhone и iPad.</p>
<p><span id="more-5298"></span></p>
<p>С какой целью &#8211; неважно, но понадобилось мне посмотреть на файлы изображений png в одной программе для iOS. Пусть это будет&#8230; Да, Remote.</p>
<p>Добраться до файлов просто. Заходим в iTunes, находим программу, Secondary Click на ней и &#8220;Show in Finder&#8221;:</p>
<p style="clear: both"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/01_ipng-thumb.png" height="149" width="233" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" title="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" /></p>
<p>Копирую найденный ipa-файл в удобное место для дальнейших разборок:</p>
<p style="clear: both"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/02_ipng-thumb.png" height="27" width="193" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" title="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" /></p>
<p>Изменяю расширение .ipa на .zip:</p>
<p style="clear: both"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/03_ipng-thumb.png" height="22" width="185" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" title="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" /></p>
<p>И открываю архив, что приводит к извлечению файлов:</p>
<p style="clear: both"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/04_ipng-thumb.png" height="62" width="392" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" title="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" /></p>
<p>Захожу в Payload, выбираю файл приложения, Secondary Click, &#8220;Show Package Content&#8221;:</p>
<p style="clear: both"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/05_ipng-thumb.png" height="127" width="500" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" title="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" /></p>
<p>Вижу все файлы, входящие в программу:</p>
<p style="clear: both"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/06_ipng-thumb.png" height="275" width="187" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" title="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" /></p>
<p>Но вот незадача &#8211; содержимое части png-файлов не отображается:</p>
<p style="clear: both"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/07_ipng-thumb.png" height="271" width="390" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" title="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" /></p>
<p>Причины описаны в статьях &#8220;<noindex><a rel="nofollow" href="http://modmyi.com/wiki/index.php/Iphone_PNG_images" >iPhone PNG images</a></noindex>&#8221; и &#8220;<noindex><a rel="nofollow" href="http://iphonedevelopment.blogspot.com/2008/10/iphone-optimized-pngs.html" >iPhone &#8220;Optimized&#8221; PNGs</a></noindex>&#8220;. Если коротко, то XCode при упаковке приложения под iOS адаптирует png под особенности организации видеопамяти iPhone и iPad, а именно меняет местами октеты красного и синего цветов и модифицирует альфа-канал, чтобы при загрузке не производить дополнительные вычисления.</p>
<p>Копирую эти файлы в свежесозданный каталог, иконки предпросмотра пусты:</p>
<p style="clear: both"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/08_ipng-thumb.png" height="315" width="500" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" title="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" /></p>
<p>Говорю спасибо <noindex><a rel="nofollow" href="http://www.axelbrz.com.ar/" >Axel E. Brzostowski</a></noindex> за программу <noindex><a rel="nofollow" href="http://www.axelbrz.com.ar/?mod=iphone-png-images-normalizer" >iPhone PNG Images Normalizer</a></noindex>, написанную на Python. Я пробовал две другие программы, но они часть файлов не могли раскодировать.</p>
<p>Списываю архив и раскручиваю программу в ~/bin:</p>
<pre>
$ curl "http://www.axelbrz.com.ar/ipin1.0.zip" -o ~/Downloads/ipin1.0.zip
$ mkdir -p ~/bin
$ unzip ~/Downloads/ipin1.0.zip -d ~/bin/
</pre>
<p>Я копировал ранее файлы в ~/Downloads/Rev/images. Смотрю, что не так с файлами. Посмотрите на нереальный размер и битность:</p>
<pre>
$ cd ~/Downloads/Rev/images/
$ file Bar-itunes.audiobooks.png
<small>Bar-itunes.audiobooks.png: PNG image, 805314562 x 284378236, 0-bit grayscale,</small>
</pre>
<p>Натравливаю на файлы скрипт:</p>
<pre>
$ cd ~/Downloads/Rev/images/
$ python ~/bin/ipin.py
<small>-----------------------------------
 iPhone PNG Images Normalizer v1.0
-----------------------------------

[+] Searching PNG files... ok

 -  12 PNG files were found at this folder (and subfolders).

[?] Do you want to normalize all images (Y/N)? Y
0.00% ./Bar-itunes.audiobooks.png
8.33% ./Bar-itunes.audiobooks@2x.png
16.67% ./Bar-itunes.computers.png
25.00% ./Bar-itunes.computers@2x.png
33.33% ./Bar-itunes.genres.png
41.67% ./Bar-itunes.genres@2x.png
50.00% ./Bar-itunes.iTunesU.png
58.33% ./Bar-itunes.iTunesU@2x.png
66.67% ./Bar-itunes.movies.png
75.00% ./Bar-itunes.movies@2x.png
83.33% ./Bar-itunes.music.albums.png
91.67% ./Bar-itunes.music.albums@2x.png

[+] 12 PNG files were normalized.</small>
</pre>
<p>Файлы починились? Да, всё в порядке:</p>
<pre>
$ file Bar-itunes.audiobooks.png
<small>Bar-itunes.audiobooks.png: PNG image, 22 x 26, 8-bit/color RGBA, non-interlaced</small>
</pre>
<p style="clear: both"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/09_ipng-thumb.png" height="318" width="500" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" title="Извлечение файлов ресурсов из приложений iOS и декодирование изображений png" /></p>
<p>Наслаждаюсь очередной решённой задачей.</p>
<p>P.S. А иконку для статьи я взял из файла iTunesArtwork, добавив к нему расширение .png.</p>
]]></content:encoded>
			<wfw:commentRss>http://theapplegeek.ru/archives/5298/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Новый пакетный тариф Киевстар для iPhone</title>
		<link>http://theapplegeek.ru/archives/5268</link>
		<comments>http://theapplegeek.ru/archives/5268#comments</comments>
		<pubDate>Sat, 09 Apr 2011 16:39:43 +0000</pubDate>
		<dc:creator>ctrld</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://theapplegeek.ru/?p=5268</guid>
		<description><![CDATA[Если вы не знаете, сколько трафика используется в обычном &#8220;городском&#8221; режиме на iPhone, то я открою вам глаза &#8211; в среднем порядка 300 MB. Я об этом раньше рассказывал почти год назад, и за прошедшее время мало что изменилось. Использовать обычные тарифы с посессионной оплатой может себе позволить или очень богатый, или очень глупый человек. [...]]]></description>
			<content:encoded><![CDATA[<p>Если вы не знаете, сколько трафика используется в обычном &#8220;городском&#8221; режиме на iPhone, то я открою вам глаза &#8211; в среднем порядка 300 MB. Я об этом раньше <a href="http://theapplegeek.ru/archives/3950" >рассказывал</a> почти год назад, и за прошедшее время мало что изменилось.</p>
<p><span id="more-5268"></span></p>
<p>Использовать <a href="http://theapplegeek.ru/archives/1868" >обычные тарифы с посессионной оплатой</a> может себе позволить или очень богатый, или очень глупый человек.</p>
<p>У Киевстар раньше были неудобные тарифы <noindex><a rel="nofollow" href="http://www.kyivstar.ua/ru/personal/prepaid/services/packages/" >пакета &#8220;Интернет&#8221;</a></noindex>. 100 MB в месяц для iPhone &#8211; очень мало, а 1000 MB &#8211; очень много.</p>
<p style="clear: both"><noindex><a rel="nofollow" href="http://images.theapplegeek.ru/wp-content/uploads/2011/04/01_ks-full.png"  class="image-link"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/01_ks-thumb.png" height="333" width="500" style=" text-align: center; display: block; margin: 0 auto 10px;" /></a></noindex></p>
<p><noindex><a rel="nofollow" href="http://www.kyivstar.ua/ru/personal/prepaid/services/smartphone/" >Пакеты &#8220;Смартфон&#8221;</a></noindex> были хорошей идеей, туда в 500 MB входили ещё и бесплатные SMS:</p>
<p style="clear: both"><noindex><a rel="nofollow" href="http://images.theapplegeek.ru/wp-content/uploads/2011/04/03_ks-full.png"  class="image-link"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/03_ks-thumb.png" height="244" width="500" style=" text-align: center; display: block; margin: 0 auto 10px;" /></a></noindex></p>
<p>Но&#8230; Когда я переключился несколько месяцев назад с пакета <noindex><a rel="nofollow" href="http://www.kyivstar.ua/ru/personal/prepaid/services/packages/" >&#8220;Интернет&#8221;</a></noindex> на <noindex><a rel="nofollow" href="http://www.kyivstar.ua/ru/personal/prepaid/services/smartphone/" >&#8220;Смартфон&#8221;</a></noindex>, я удивился резкому ухудшению сервиса в тех местах, где я обычно комфортно пользовался доступом. Пиковая скорость была той же &#8211; проверял через speedtest.net через несколько серверов, что показывало реальную картину. Но вот страницы грузились ну уж очень неторопливо. И это было на протяжении недели. Из этого я сделал закономерный вывод, что для пакета &#8220;Смартфон&#8221; искусственно ухудшены параметры QoS по сравнению с пакетами &#8220;Интернет&#8221;.</p>
<p>Так что в следующем месяце я снова переключился на дорогой пакет &#8220;Интернет 1000&#8243; и уровень сервиса вернулся на привычный уровень. Однако платить по 99 грн плюс 50 грн за SMS и голос не особо хочется.</p>
<p>И вот при очередной итерации минимизаций я увидел, что Киевстар прикрыл для новых пользователей старые тарифы &#8220;Интернет&#8221; и запустил их <noindex><a rel="nofollow" href="http://www.kyivstar.ua/ru/personal/prepaid/services/internet_pack/" >в новой редакции</a></noindex>:</p>
<p style="clear: both"><noindex><a rel="nofollow" href="http://images.theapplegeek.ru/wp-content/uploads/2011/04/02_ks-full.png"  class="image-link"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/02_ks-thumb.png" height="325" width="500" style=" text-align: center; display: block; margin: 0 auto 10px;" /></a></noindex></p>
<p>Не могу ничего сказать по поводу уровня качества &#8211; я сервис ещё не испытывал. Но Киевстару &#8211; благодарность за тариф <noindex><a rel="nofollow" href="http://www.kyivstar.ua/ru/personal/prepaid/services/internet_pack/" >&#8220;Общение&#8221;</a></noindex>, куда входит 350 MB трафика за 55 грн. На следующий месяц я переключаюсь именно на него. Теперь я вполне смогу вложиться в 100 грн, что даст 50% экономии.</p>
<p>Кстати, за счёт использования программы &#8220;<noindex><a rel="nofollow" href="http://www.whatsapp.com/" >WhatsApp</a></noindex>&#8221; я трачу на SMS уже второй месяц гораздо меньше денег. Да и про полуработающие MMS в Киевстар забыл, как про страшный сон. Двойное уважение разработчикам &#8211; я раза четыре окупил деньги, потраченные на неё.</p>
<p>P.S. Прошу не писать комментарии вида &#8220;А у нас в Гондурасе и тарифы лучше, и крокодилы вкуснее&#8221; &#8211; я живу в Украине и меня всё устраивает.</p>
]]></content:encoded>
			<wfw:commentRss>http://theapplegeek.ru/archives/5268/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Переадресация SMS с помощью SMSTools</title>
		<link>http://theapplegeek.ru/archives/5253</link>
		<comments>http://theapplegeek.ru/archives/5253#comments</comments>
		<pubDate>Tue, 05 Apr 2011 15:49:30 +0000</pubDate>
		<dc:creator>ctrld</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[3G]]></category>

		<guid isPermaLink="false">http://theapplegeek.ru/?p=5253</guid>
		<description><![CDATA[Интернет на iPhone - неблагодарная вещь. Захочешь не обращать внимание на трафик на iPhone и возьмёшь большой пакетный тариф (1 GB) - потратишь деньги, а израсходуешь 70 MB. Захочешь сэкономить и возьмёшь пакетный тариф поменьше (Киевстар, 100 MB) - и окажется, что в этом месяце чаще находишься "в поле" и трафик заканчивается 10-го числа. Именно это у случилось в прошлом месяце.]]></description>
			<content:encoded><![CDATA[<p>Интернет на iPhone &#8211; неблагодарная вещь. Захочешь не обращать внимание на трафик на iPhone и возьмёшь большой пакетный тариф (1 GB) &#8211; потратишь деньги, а израсходуешь 70 MB. Захочешь сэкономить и возьмёшь пакетный тариф поменьше (Киевстар, 100 MB) &#8211; и окажется, что в этом месяце чаще находишься &#8220;в поле&#8221; и трафик заканчивается 10-го числа. Именно это у случилось в прошлом месяце.</p>
<p>Пришлось &#8220;изголяться&#8221; и ставить в iPhone служебную карточку, чего я делать не люблю &#8211; предпочитаю разделять рабочее и личное использование мобильной связи.</p>
<p><span id="more-5253"></span></p>
<p>Всё было бы неплохо &#8211; Интернет на новой карточке есть, голосовые вызовы я перенаправил. Но вот SMS&#8230; На мой номер приходят уведомления о транзакциях по 4-м дебитовым картам, на него же пишут SMS друзья и коллеги. И если внутри сети Киевстар есть возможность <noindex><a rel="nofollow" href="http://www.kyivstar.ua/ru/personal/prepaid/services/sms-forward/" >переадресации SMS</a></noindex>, то на другого оператора включить её невозможно.</p>
<p>Пытался раз в день переставлять SIM-карту, но это быстро надоело. И тут родилась идея. <noindex><a rel="nofollow" href="http://smstools3.kekekasvi.com/" >Smstools</a></noindex>. Я подумал, что можно настроить UMTS-модем как SMS-шлюз на приём сообщений.</p>
<p>Была лёгкая сложность &#8211; в iPhone 4 стоит MicroSIM, а в модем ставится обычная miniSIM. Сначала думал купить специальный адаптер, но потом прошёлся по радиорынку и там нашлось отличное решение. Продавцы, торгующие iPhone 4 и iPad 3G, не вырезают microSIM вручную, а обычно пользуются специальными резаками под названием &#8220;SIM Card Cutter&#8221;:</p>
<p style="clear: both"><noindex><a rel="nofollow" href="http://images.theapplegeek.ru/wp-content/uploads/2011/04/01_sms-full.png"  class="image-link"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/01_sms-thumb.png" height="461" width="500" style=" text-align: center; display: block; margin: 0 auto 10px;" /></a></noindex></p>
<p>Эти резаки вырезают MicroSIM, а внешняя часть остаётся нетронутой. И вот в эту внешнюю часть, остающуюся после обрезки miniSIM, можно поставить MicroSIM:</p>
<p style="clear: both"><noindex><a rel="nofollow" href="http://images.theapplegeek.ru/wp-content/uploads/2011/04/02_sms-full.png"  class="image-link"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/02_sms-thumb.png" height="220" width="320" style=" text-align: center; display: block; margin: 0 auto 10px;" /></a></noindex></p>
<p>и вставить эту конструкцию в модем</p>
<p style="clear: both"><noindex><a rel="nofollow" href="http://images.theapplegeek.ru/wp-content/uploads/2011/04/03_sms-full.png"  class="image-link"><img class="linked-to-original" src="http://images.theapplegeek.ru/wp-content/uploads/2011/04/03_sms-thumb.png" height="195" width="320" style=" text-align: center; display: block; margin: 0 auto 10px;" /></a></noindex></p>
<p>С этим разобрался. Модем у меня хороший &#8211; USB Novatel Wireless <noindex><a rel="nofollow" href="http://www.novatelwireless.com/index.php?option=com_content&#038;view=article&#038;id=43:ovation-mc930d-72-usb-modem-hsdpahsupaumts-networks&#038;catid=12:ovation-mobile-convergence&#038;Itemid=13" >Ovation MC930D</a></noindex>. Правда iPhone 4 мне использовать гораздо удобнее в качестве модема.</p>
<p>Подключил модем к ноутбуку, убедился, что мой &#8220;miniSIM-бутерброд&#8221; работает.</p>
<p>Дальше из исходников компилирую SMSTools (в <a href="http://theapplegeek.ru/archives/3570" >Homebrew</a> его нет, а ставить <a href="http://theapplegeek.ru/archives/1011" >MacPorts</a> не хочу из-за повышенного количества <a href="http://theapplegeek.ru/archives/3570" >хлама</a>).</p>
<pre>
$ mkdir ~/tmp
$ cd ~/tmp
$ curl http://smstools3.kekekasvi.com/packages/smstools3-3.1.14.tar.gz -o smstools3-3.1.14.tar.gz
$ tar xvfz smstools3-3.1.14.tar.gz
$ cd smstools3
$ make
$ sudo make install
<small>Installing binary program files
  /usr/local/bin/smsd
Installing some scripts
  /usr/local/bin/sendsms
  /usr/local/bin/sms2html
  /usr/local/bin/sms2unicode
  /usr/local/bin/unicode2sms
Installing config file
  /etc/smsd.conf
Creating minimum spool directories
  Skipped /var/spool, directory already exists
  Creating directory /var/spool/sms
  Creating directory /var/spool/sms/incoming
  Creating directory /var/spool/sms/outgoing
  Creating directory /var/spool/sms/checked
Installing start-script
  I do not know where to copy scripts/sms3. Please find out yourself.</small>

$ sudo mkdir /var/spool/sms/{failed,sent}
</pre>
<p>Настраиваю:</p>
<pre>
$ sudo vim /etc/smsd.conf
devices = Kyivstar
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
incoming = /var/spool/sms/incoming
failed = /var/spool/sms/failed
sent = /var/spool/sms/sent
logfile = /var/log/smsd.log
loglevel = 7
receive_before_send = no
autosplit = 3
#eventhandler = /etc/smsd/trsms.sh

[Kyivstar]
device = /dev/cu.wwanCMD
incoming = yes
rtscts = no
cs_convert = no
baudrate = 115200
init = AT+CPMS="SM","SM","SM"
check_memory_method = 31
smsc = 380672021111
baudrate = 115200

[Utel]
device = /dev/cu.wwanCMD
incoming = yes
rtscts = no
cs_convert = no
baudrate = 115200
init = AT+CPMS="SM","SM","SM"
check_memory_method = 31
smsc = 380910440601
</pre>
<p>Пока eventhandler я закомментировал. Обратите внимание на параметры init и check_memory_method.</p>
<p>Всё работало и с дефолтовыми параметрами, но в один момент я перестал получать сообщения. При разборке оказалось, что используются не те области памяти для SMS, а кроме того когда эти области заполняются, то сообщения не принимаются и об этом никаких сообщений нет. Решение было найдено.</p>
<p>Для моего модема используется <noindex><a rel="nofollow" href="http://www.developershome.com/sms/cpmsCommand.asp" >Message Storage Area</a></noindex> SM (внутренняя), и это я описал в init. Чтобы узнать это, я подключился к модему через screen (процесс я <a href="http://theapplegeek.ru/archives/4363" >описывал раньше</a>) и выполнил команду:</p>
<pre>
$ screen /dev/cu.wwanCMD
AT+CPMS=?
+CPMS: ("SM","SR"),("SM","SR"),("SM","SR")
</pre>
<p>Поэтому в init я прописал AT+CPMS=&#8221;SM&#8221;,&#8221;SM&#8221;,&#8221;SM&#8221;. Выход из screen: &#8216;Ctrl+a&#8217;, потом нажать букву &#8216;k&#8217; и ответить &#8216;y&#8217;.</p>
<p>С <noindex><a rel="nofollow" href="http://smstools3.kekekasvi.com/index.php?p=configure#m_check_memory_method" >check_memory_method</a></noindex> было всё неочевидно. В принципе предыдущий шаг не нужен при значении 31, но я оставил init как есть. Как только я поставил 31, то сообщения стали приходить нормально.</p>
<p>Запускаю smsd:</p>
<pre>
$ sudo /usr/local/bin/smsd
$ ps ax | grep smsd
<small> 6469   ??  Ss     0:00.00 /usr/local/bin/smsd
 6470   ??  R      0:00.25 /usr/local/bin/smsd</small>
</pre>
<p>Как остановить процесс:</p>
<pre>
$ sudo killall smsd
</pre>
<p>Смотрю лог:</p>
<pre>
$ sudo cat /var/log/smsd.log
</pre>
<p>Смотрю на входящие сообщения:</p>
<pre>
$ sudo cat /var/log/smsd.log | grep incoming
<small>2011-03-13 21:03:59,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.Duxzib
2011-03-13 21:04:00,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.FDdP9O
2011-03-13 21:04:01,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.BLXri0
2011-03-13 21:04:02,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.4gEyCi
2011-03-13 21:04:03,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.5OfeoH
2011-03-13 21:04:06,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.u5C6WN
2011-03-13 21:04:07,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.6KlTu8
2011-03-13 21:04:08,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.mxmpEX
2011-03-13 21:04:09,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.j564Hx
2011-03-13 21:04:10,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.26sbI4
2011-03-13 21:04:11,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.14HjjV
2011-03-13 21:04:12,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.XfmL6l</small>
</pre>
<p>Отравляю себе сообщение:</p>
<pre>
$ sudo sendsms +38067xxxxxxx "Test"; sudo tail -f /var/log/smsd.log
<small>2011-03-13 21:06:56,7, GSM1: -> AT+CMGS=18
2011-03-13 21:06:56,7, GSM1: Command is sent, waiting for the answer
2011-03-13 21:06:56,7, GSM1: <- >
2011-03-13 21:06:56,7, GSM1: -> 0011000C918390117112660000FF04D4F29C0E
2011-03-13 21:06:56,7, GSM1: Command is sent, waiting for the answer
2011-03-13 21:07:00,7, GSM1: <- +CMGS: 58 OK
2011-03-13 21:07:00,5, GSM1: SMS sent, Message_id: 58, To: 380911172166, sending time 8 sec.
2011-03-13 21:07:00,6, GSM1: Moved file /var/spool/sms/checked/send_QgKq9h to /var/spool/sms/sent/send_QgKq9h</small>
</pre>
<p>Тут я привёл не совсем правильный лог &#8211; он был сгенерирован при дефолтовом init. Но суть от этого не меняется.</p>
<p>Сообщение пришло:</p>
<pre>
$ sudo tail -f /var/log/smsd.log | grep "incoming message file"
<small>2011-03-13 21:16:46,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.zp0Y32</small>
</pre>
<p>Содержимое SMS:</p>
<pre>
$ cat /var/spool/sms/incoming/GSM1.zp0Y32
<small>From: 38067xxxxxxx
From_TOA: 67 international, ISDN/telephone
From_SMSC: 380672021111
Sent: 11-03-13 21:16:13
Received: 11-03-13 21:16:46
Subject: GSM1
Modem: GSM1
IMSI: 255xxxxxxxxx
Report: no
Alphabet: GSM
Length: 8

Test</small>
</pre>
<p>Это был английский текст. С русским похуже:</p>
<pre>
$ cat /var/spool/sms/incoming/GSM1.KW5aeu
<small>From: 380xxxxxxxxx
From_TOA: 67 international, ISDN/telephone
From_SMSC: 380672021111
Sent: 11-03-13 21:15:02
Received: 11-03-13 21:15:17
Subject: GSM1
Modem: GSM1
IMSI: 255xxxxxxxxx
Report: no
Alphabet: UCS2
Length: 8

@>25@:0</small>
</pre>
<p>&#8220;@>25@:0&#8243; &#8211; это текст на русском в кодировке UCS2. Кодировка? Значит <a href="http://theapplegeek.ru/archives/3889" >iconv</a>.</p>
<p>Текст начинается с 13-й строки, его я и передаю на вход iconv, преобразовывая в UTF-8:</p>
<pre>
$ tail +13 /var/spool/sms/incoming/GSM1.z1B8nr | iconv -f UCS-2 -t UTF-8
<small>Проверка</small>
</pre>
<p>Всё, SMS готов к обработке. Я решил записывать их в файл с помощью &#8220;eventhandler = /etc/smsd/trsms.sh&#8221;. Раскомментариваю эту строку в /etc/smsd.conf, создаю скрипт:</p>
<pre>
$ sudo mkdir /etc/smsd
$ sudo vim /etc/smsd/trsms.sh
#!/bin/bash
status="$1"
file="$2"

case "$1" in
  RECEIVED)
    FILE=`mktemp /tmp/smsd_XXXXXX`

    head -12 $file | grep -e "^From: " -e "^Sent: " -e "^Received: " >> /var/tmp/sms.log
    if grep "Alphabet: UCS2" $file >/dev/null; then
       tail +13 $file | iconv -f UCS-2 -t UTF-8 >> /var/tmp/sms.log
    else
       tail +13 $file >> /var/tmp/sms.log
    fi
    echo >> /var/tmp/sms.log
    echo >> /var/tmp/sms.log
    ;;
esac
</pre>
<p>Не забываю сделать скрипт исполняемым:</p>
<pre>
$ sudo chmod +x /etc/smsd/trsms.sh
</pre>
<p>Перезапускаю демона, слежу за логом:</p>
<pre>
$ sudo killall smsd
$ sudo /usr/local/bin/smsd
$ sudo tail -f /var/log/smsd.log
</pre>
<p>Кстати, если вы выдернули модем и потом вставили его обратно, то нужно перезапустить процесс, программа не подхватывает сама подключаемый модем.</p>
<p>Отправляю пару сообщений, одно с английским текстом, другое &#8211; с русским. Вуаля &#8211; сообщения в моём файле:</p>
<pre>
<small>From: 38067xxxxxxx
Sent: 11-03-13 22:18:28
Received: 11-03-13 22:19:05
Проведенный тест

From: 38067xxxxxxx
Sent: 11-03-13 22:19:12
Received: 11-03-13 22:19:26
Test</small>
</pre>
<p>Задача решена, входящие SMS пишутся в лог.</p>
<p>Но вот незадача &#8211; ноутбук я не всегда ношу с собой, модем держать постоянно воткнутым неудобно. Поэтому я сделал следующий шаг. Перенёс всё на постоянно включённую рабочую станцию под Ubuntu 10.10 и добавил очень удобную функцию &#8211; кроме записи в лог теперь SMS отсылаются мне на почту.</p>
<p>Установка проще:</p>
<pre>
$ sudo aptitude install smstools
</pre>
<p>Конфиг тот же. А eventhandler /etc/smsd/trsms.sh я усовершенствовал. Кстати, под Ubuntu не работает конструкция &#8220;tail +13&#8243;, вместо неё нужно писать &#8220;tail -n +13&#8243;.</p>
<pre>
#!/bin/bash
status="$1"
file="$2"

case "$1" in
  RECEIVED)
    FILE=`mktemp /tmp/smsd_XXXXXX`

    header=`head -12 $file | grep -e "^From: " -e "^Sent: " -e "^Received: "`
    from=`head -12 $file | grep -e "^From: " | awk '{print $2}'`

    if grep "Alphabet: UCS2" $file > /dev/null > /dev/null; then
                message=`tail -n +13 $file | iconv -f UCS-2BE -t UTF-8`
        else
                message=`tail -n +13 $file`
        fi
        echo -e "$message" | mail -s "Incoming SMS from +$from" oserdyukov@gmail.com
        echo -e "$header\n$message\n" >> /var/log/sms.log
    ;;
esac
</pre>
<p>SMS отослан, SMS получен и практически мгновенно оно появляется в моём почтовом ящике. Суперудобно. В таком режиме система у меня проработала 20 дней без замечаний.</p>
<p>Следующим шагом я настроил мониторинг работы модема через Zabbix, там тоже было несколько интересных приёмов. Но писать уже лень, хватит.</p>
<p>Засим разрешите откланяться.</p>
<p>P.S. Эта статья была написана благодаря <noindex><a rel="nofollow" href="http://www.i-store.ru/news/year_2011/6917/" >i-Store.ru</a></noindex>. Если она вам оказалась полезна, то зайдите на <noindex><a rel="nofollow" href="http://www.i-store.ru/news/year_2011/6917/" >магазина</a></noindex>.</p>
]]></content:encoded>
			<wfw:commentRss>http://theapplegeek.ru/archives/5253/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Режим Field Test Mode на iPhone 4 с iOS 4.2.1</title>
		<link>http://theapplegeek.ru/archives/5069</link>
		<comments>http://theapplegeek.ru/archives/5069#comments</comments>
		<pubDate>Mon, 20 Dec 2010 15:15:05 +0000</pubDate>
		<dc:creator>ctrld</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[3G]]></category>

		<guid isPermaLink="false">http://theapplegeek.ru/?p=5069</guid>
		<description><![CDATA[Запуск режима Field Test Monitor на iPhone]]></description>
			<content:encoded><![CDATA[<p><strong>Внимание!</strong> <i>Шкала уровня сигнала после запуска этого режима начинает отображаться в dBm. В некоторых случаях вернуться к традиционному индикатору нельзя, нужно или восстановить iPhone из резервной копии, или сделать jailbreak и установить SBShowGSMRSSI = 0 в com.apple.springboard.plist. Я опишу второй способ в отдельной статье.</i></p>
<p>Если вам от мобильной сети нужна больше, чем использование привычных услуг, то не мне вам объяснять, что такое &#8220;Field Test Mode&#8221; или же &#8220;Network Monitor&#8221;.</p>
<p>На iPhone 4 с iOS 4.2.1 (jailbreak не нужен) активировать этот режим можно, набрав &#8220;*3001#12345#*&#8221;:</p>
<p style="clear: both"><img src="http://images.theapplegeek.ru/wp-content/uploads/2010/12/01_fm-thumb1.png" height="320" width="213" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Режим Field Test Mode на iPhone 4 с iOS 4.2.1" title="Режим Field Test Mode на iPhone 4 с iOS 4.2.1" /></p>
<p>Доступные разделы:</p>
<p style="clear: both"><img src="http://images.theapplegeek.ru/wp-content/uploads/2010/12/02_fm-thumb1.png" height="320" width="213" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Режим Field Test Mode на iPhone 4 с iOS 4.2.1" title="Режим Field Test Mode на iPhone 4 с iOS 4.2.1" /></p>
<p>В PDP Context List, например, можно посмотреть свой IP-адрес:</p>
<p style="clear: both"><img src="http://images.theapplegeek.ru/wp-content/uploads/2010/12/03_fm-thumb1.png" height="320" width="213" style=" text-align: center; display: block; margin: 0 auto 10px;"  alt="Режим Field Test Mode на iPhone 4 с iOS 4.2.1" title="Режим Field Test Mode на iPhone 4 с iOS 4.2.1" /></p>
<p>iPhone далеко до <noindex><a rel="nofollow" href="http://www.belnetmon.bn.by/doc/nokia_new_netmon.pdf" >Nokia NetMon</a></noindex>, но это лучше, чем ничего.</p>
]]></content:encoded>
			<wfw:commentRss>http://theapplegeek.ru/archives/5069/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Успешное внесение второго iPhone в белый список IMEI</title>
		<link>http://theapplegeek.ru/archives/5049</link>
		<comments>http://theapplegeek.ru/archives/5049#comments</comments>
		<pubDate>Mon, 13 Dec 2010 05:25:47 +0000</pubDate>
		<dc:creator>ctrld</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[imei]]></category>

		<guid isPermaLink="false">http://theapplegeek.ru/?p=5049</guid>
		<description><![CDATA[Наконец-то моя эпопея с внесением моих iPhone в белый список IMEI завершилась. Завершилась успешно.]]></description>
			<content:encoded><![CDATA[<p>Наконец-то моя эпопея с&nbsp;внесением моих iPhone в&nbsp;белый список IMEI завершилась. Завершилась успешно.</p>
<p>Если вы&nbsp;пропустили этот процесс, то&nbsp;можете о&nbsp;нём прочитать в&nbsp;статьях:</p>
<ol>
<li><a href="http://theapplegeek.ru/archives/4143" >macstore.org.ua и&nbsp;невыполненное обещание о&nbsp;&laquo;белом&raquo; списке IMEI</a></li>
<li><a href="http://theapplegeek.ru/archives/4573" >Практика внесения iPhone в&nbsp;белый список централизованной базы IMEI Украины</a></li>
<li><a href="http://theapplegeek.ru/archives/4700" >Ответы на&nbsp;заявления о&nbsp;внесении IMEI iPhone в&nbsp;белый список</a></li>
</ol>
<p><span id="more-5049"></span></p>
<p>На&nbsp;первый запрос о&nbsp;внесении iPhone 3Gs в&nbsp;белый список IMEI я&nbsp;<a href="http://theapplegeek.ru/archives/4700" >получил ответ</a>, что iPhone уже был зарегистрирован в&nbsp;сети одного из&nbsp;мобильных операторов Украины до&nbsp;момента, который я&nbsp;указал как время ввоза устройства из-за рубежа по&nbsp;отметкам в&nbsp;загранпаспорте (да, я&nbsp;купил его в&nbsp;MacStore, <a href="http://theapplegeek.ru/archives/4143" >который клялся</a> внести телефон в&nbsp;белый список, но&nbsp;не&nbsp;сделал этого на&nbsp;протяжении года, поэтому пришлось всё делать самому).</p>
<p>Я&nbsp;вспомнил, что после появления iPhone 3Gs в&nbsp;продаже я&nbsp;ездил в&nbsp;Киргизию, и&nbsp;это было отражено в&nbsp;загранпаспорте. Киргизия&nbsp;&mdash; страна далеко не&nbsp;продвинутая технологически, там нет представительств Apple, но&nbsp;попытка&nbsp;&mdash; не&nbsp;пытка и&nbsp;я&nbsp;отправил второе заявление. Несколько недель&nbsp;&mdash; и&nbsp;мой IMEI в&nbsp;белом списке.</p>
]]></content:encoded>
			<wfw:commentRss>http://theapplegeek.ru/archives/5049/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

