Comments 22
Спасибо, очень полезно, правда с ним пришлось разобраться раньше — но зато теперь занесу статью в избранное — пусть будет под рукой.

От себя добавлю — если у вас Ad Hoc версия приложения, то также нужно создать Entitlements.plist
идем в New File -> iPhone OS -> Code Signing -> Entitlements
называем файл Entitlements.plist
теперь в нем снимаем галочку «get-task-allow»
теперь в Build settings вашего таргета в графе «Code Signing Entitlements» укажем «Entitlements.plist»

если этого не сделать — будете получать при установке приложения сообщение «The executable was signed with invalid entitlements.»
полезно, сэкономит время если придется столкнутся.
Автор не ленись, пиши дальше о том, что считаешь интересным :-), а то в хабре доминирует копипаст и так мало авторского.
Подскажите, как при такой схеме платеже обстоят дела с комиссией и выводом денег?
Коммиссия такая же как и при «прямых» продажах — 30%. Вывод денег осуществляется точно также. Отчеты приходят вместе с отчетом о «прямых» продажах в одном файле.
Спасибо за информацию. У меня предполагаются крупные транзакции, поэтому придется использовать что-нибудь другое. Скажем, Chronopay или PayPal через браузер, открытый в приложении.

Или, может быть, вы посоветуете какой-нибудь другой вариант?
Могу ошибаться, но мне кажется, что эппл может не пропустить приложение с покупками фич через браузер.
Я тоже планирую делать крупные транзакции, но через In-App Purchase. Большой минус — отдаем 30% эппл, большой плюс — удобно для пользователя.
Хотя если делать через внутренний браузер, то может и прокатит, и, возможно, получится даже лучше и удобнее, чем через In-App purchase.

Вообщем, тут большое поле для экспериментов. Как правильно сделать сказать очень сложно.
Удобнее — это вряд ли, потому что каждый раз заполнять Хронопеевскую форму с айфона не самое приятное занятие. Но у меня прибыль с транзакции менее 10%, и 30% комиссия — это смерть такому бизнесу.
«На вопрос 'Does your product contain encryption?' ответить отрицательно.»

Да ну? Всегда? Не задумываясь? Не вникая в суть этого вопроса и смысл его существования?
:)
Прошу прощения за двусмысленность :) Здесь рассматривается работа тестового примера. И чтобы не загромождать пост я написал «ответить отрицательно».

Естественно, сначала нужно задуматься, затем ответить либо 'да', либо 'нет'.

Но для того, чтобы протестировать работу Purchases вполне подойдет 'NO' :)
Далее необходимо включить In App Purchases для App ID. В списке App IDs, напротив нужного Bundle Identifier в графе Action следует нажать Configure. Появится форма Configure App ID, на которой необходимо включить checkBox 'Enable In App Purchase'.

У меня этой галочки почему то нет. Что я делаю не так?
Насколько я помню, в случае с сервером, приложение сначала запрашивает у сервера только идентификаторы продуктов, а потом по этим идентификаторам забирает информацию о них с сервера Apple и показывает их пользователю. Таким образом происходит проверка соответствия того, что содержится на вашем сервере тому, что вы внесли через iTunes Connect.
А у вас никогда не было такого, что для отдельных девайсов список айдишников с аппстора возвращался в массиве невалидных?
Важный момент. Если у Вас не закончен контракт с Apple, тогда In-App Purchase работать у Вас не будет. Для того, чтобы закончить контракт, необходимо указать Contact Info, Bank Info и Tax Info.

Ммм… непонятно. О чем здесь речь? Что за контракт?
Речь о том, что нужно завершить заключение контракта. Заполнить все необходимые данные: контакты, банковские счета и т.д.
Иначе, будут доступны к сабмиту лишь бесплатные приложения.
Отличная статья, спасибо)
Возникла проблема, в тестовом приложении тестовым юзером не получается совершить покупку продукта с типом Consumable. Подскажите кто знает почему так происходит?
При этом покупка продукта с типом Free Subscription проходит нормально.
Only those users with full accounts are able to leave comments. Log in, please.