<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Рутокен &mdash; Приложение для iOS падает при выходе из бэкграунда]]></title>
	<link rel="self" href="https://forum.rutoken.ru/feed/atom/topic/2366/" />
	<updated>2016-01-25T09:05:30Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/2366/</id>
		<entry>
			<title type="html"><![CDATA[Re: Приложение для iOS падает при выходе из бэкграунда]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/9280/#p9280" />
			<content type="html"><![CDATA[<p>Спасибо за помощь!<br />Помог элемент&nbsp; &quot;App communicates with an accessory&quot; в ключе &quot;Required Background Modes&quot;. По-крайне мере теперь получилось корректно прервать операцию подписи и выдать пользователю соответствующее сообщение.<br />Я и сам копал в этом же направлении, но&nbsp; только пытался добавлять элемент &quot;App comunicates using CoreBluetooth&quot;, что не помогало.<br />А отказываться от фонового режима не хочется, так как приложение может работать и с контейнерами КриптоПро, и в этом случае фоновый режим не мешает.</p>]]></content>
			<author>
				<name><![CDATA[Vdp]]></name>
				<uri>https://forum.rutoken.ru/user/9306/</uri>
			</author>
			<updated>2016-01-25T09:05:30Z</updated>
			<id>https://forum.rutoken.ru/post/9280/#p9280</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Приложение для iOS падает при выходе из бэкграунда]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/9279/#p9279" />
			<content type="html"><![CDATA[<p>Без исходного кода приложения мы можем посоветовать следующее:<br />Пути решения проблемы:<br />1) Не работать в фоновом режиме. Для этого необходимо в info.plist приложения добавить ключ &quot;Application does not run in background&quot; со значением &quot;YES&quot;. Именно так сделано в нашем приложении демобанк. (<a href="https://github.com/AktivCo/rutoken-demobank-ios">https://github.com/AktivCo/rutoken-demobank-ios</a>) <br />Минусы - если пользователь случайно свернет приложение, оно закроется и все надо будет начинать сначала (по крайней мере операции с токеном)<br />Плюсы - мы следуем советам Apple не работать в фоновом режиме, особенно с bluetooth, особенно если он не LE. Ну и если уж пользователь закрыл приложение - вероятно ему надоело ждать слишком уж долгой операции, а значит результат его не очень волнует. Можно на экран ожидания добавить предупреждение о том, что при сворачивание приложение все прервется.<br />2) Убедится, что работа в фоновом режиме осуществляется правильно( ключ из пункта 1 установлен в NO, ключ &quot;Required Background Modes&quot; содержит элемент &quot;App communicates with an accessory&quot;. Это минимум, тем более надо учитывать, что в фоновом режиме система все равно может принудительно &quot;убить&quot; приложение и в таком случае ничего не поможет.</p>]]></content>
			<author>
				<name><![CDATA[Кирилл Мещеряков]]></name>
				<uri>https://forum.rutoken.ru/user/6786/</uri>
			</author>
			<updated>2016-01-22T13:19:48Z</updated>
			<id>https://forum.rutoken.ru/post/9279/#p9279</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Приложение для iOS падает при выходе из бэкграунда]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/9278/#p9278" />
			<content type="html"><![CDATA[<p>Спасибо за вопрос.<br />Подумаем.</p>]]></content>
			<author>
				<name><![CDATA[Кирилл Мещеряков]]></name>
				<uri>https://forum.rutoken.ru/user/6786/</uri>
			</author>
			<updated>2016-01-22T11:57:13Z</updated>
			<id>https://forum.rutoken.ru/post/9278/#p9278</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Приложение для iOS падает при выходе из бэкграунда]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/9270/#p9270" />
			<content type="html"><![CDATA[<p>Добрый день.</p><p>В приложении для iOS реализована подпись файлов в формате PKCS7 с использованием Рутокен ЭЦП Bluetooth и функции C_EX_PKCS7Sign.&nbsp; Если в процессе формирования подписи перевести приложение в бэкграунд, то при возврате оно либо падает, либо зависает со 100 процентной загрузкой процессора.</p><p>Вот сообщения из лога при входе и выходе из бэкграунда (приложение упало): </p><p>2016-01-21 11:02:00.420 Stroytorgi[1372:799747] /BuildRoot/Library/Caches/com.apple.xbs/Sources/ExternalAccessory/ExternalAccessory-329.10.2/EAAccessoryManager.m:__51-[EAAccessoryManager _checkForConnectedAccessories]_block_invoke-632 ending background task</p><p>2016-01-21 11:02:04.416 Stroytorgi[1372:799778] ERROR - /BuildRoot/Library/Caches/com.apple.xbs/Sources/ExternalAccessory/ExternalAccessory-329.10.2/EAOutputStream.m:-[EAOutputStream write:maxLength:] - 267 failed to write 57 bytes (wrote -1) with error 32</p><p>Как можно избежать этой ошибки?</p>]]></content>
			<author>
				<name><![CDATA[Vdp]]></name>
				<uri>https://forum.rutoken.ru/user/9306/</uri>
			</author>
			<updated>2016-01-21T08:26:20Z</updated>
			<id>https://forum.rutoken.ru/post/9270/#p9270</id>
		</entry>
</feed>
