Comments
UFO landed and left these words here
В MKStoreKit — isFeaturePurchased — это же не одна проверка. но если глобально — то да :-)
UFO landed and left these words here
Чисто практически — все можно исправить (и это обязательно будет сделано).

Зашита как правило заключается не в проверке условия, а в защите этого кода от изменений или обхода его выполнения. Но это индивидуально и нет смысла рассматривать. А так, можно код проверки условий хоть в паблик выкладывать, это ни разу не секрет.
UFO landed and left these words here
Спасибо за пост. Использую Corona SDK, но переписать это на Lua вроде не должно составить проблем.

А можете пояснить как именно работает iAp Cracker?
С моей чисто обывательской колокольни — он хучит функцию in-app purchase в API, заставляя сразу возвращать TRUE в приложение.

Странно, что у эппла здесь не замешана асимметричная криптография с сертификатами… Подозреваю, есть более надежный способ организовать проверку покупки чем то, что описано в статье.
могу точно сказать — есть :-)
это серверная модель продаж (когда кроме сервера apple есть еще и ваш сервер, который отдельно проверяет сертификат через сервера apple.)
Но я отказался от такой модели по 2-м причинам.
1. У меня нет потребности в моем сервере (дополнительные данные не подгружаются)
2. Усложняется система покупки — если вдруг, по каким-либо причинам ваш сервер не работает, а сервера apple работают — то может возникнуть проблема — покупка произошла, а пользователь получиш шиш. Отзывы у вас будут веселые тогда :-)
Именно поэтому я реализовал верификацию на стороне клиента. Понятно, что эта защита не самая крутая. Но против универсальной тулзы типа iAp Cracker — достаточно сильное средство.

я не программер, но с темой связан близко. Вопрос:
1.Может знаете, UrbanAirship проверяет проверяет сертификат после Эппла?
2.Чем собственно UA в качестве сервера не устраивает?
По поводу п. 1 — не знаю.
Но, если честно предпочитаю не использовать внешние сервисы для таких целей.
как-то свой роднее, что ли :-)
Пуши и пурчейзы очень легко реализуемы на своем хостинге.
а почему не устраивает UA — если может их сервера и не бывают особо в ауте, но частенько бывает такое что канал к серверу Applе — OK — и продажа проходит, а к другому сайту(тому жу UA) — лежит (или может быть слишком медленный) — тогда большой прикол. Я просто сам на таком палился, покупая какую-то прогу — потом долго доказывал разработчику, что я не баран. :-)
Больше утилит по взлому in-app purchase хороших и разных. Внутриигровые покупки это зло. Куда не ткнёшься, везде «дай денег, дай денег, дай денег». Прям гостиница «Экономическая» из «Незнайка на Луне».
Любители халявы и идейные любители бесплатных программ всегда найдут как не платить, а среди freemium игр в последнее время вообще нет ни одной, в которой можно пройти хотя бы 5 уровней без обязательной покупки монеток\токенов\вундервафель.
Ну не надо перегибать палку.

Кроме того всегда есть выбор — не хотите платить, не играйте.
Разработчикам надо за что то жить — а вот таких Любители халявы и идейные любители бесплатных программ всегда найдут как не платить я вообще не понимаю.
У меня айфон даже не джейлбрейкнут. С удовольствием покупаю игрушки и программы, благо стоят копейки. Но иногда встречаю красивые и интересные игрушки, в которых без того чтобы потратить 5-10 долларов на внутриигровую валюту — играть невозможно. А купив нужные айтемы — игра проходится с первой попытки. Ну и зачем так играть?
Многие разработчики через внутриигровые покупки реализуют открытие полной версии игры. Таким образом не надо скачивать отдельно lite version, а потом full.
Но соглашусь, что обилие дополнительных обязательных покупок сильно огорчает.
Ну так сами же пишите, «красивые и интересные игрушки». Почему бы не заплатить? Тем более, что платить вам предлагают гораздо более гибко, чем по схеме pay2play.
понимаю ваше раздражение, хотя у меня вот идейное хобби проходить такие игры принципиально ничего не покупая. в джетпак джойрайде купил ток хрень которая монетки удваивает, в темплране купил все на двух девайсах ни потратив ни цента, в еашном тетрисе (с длц, лол!) 0 потратил, и даже в беджувелде им не удалось меня растрясти (хотя вот у них очень злобно и противно в этом плане)
И да, вот отличный пример «наказания за инакомыслие». Сам я минусы не ставлю принципиально, а теперь несколько человек лишились заслуженных плюсов потому, что я посмел своими словами страшно кого-то оскорбить.
Я попытался, в меру своих сил, исправить это недоразумение. Но Вы какбэ за словами все таки следите. Одно дело Ваше мнение про внутриигровые покупки, совсем другое Ваши слова «Больше утилит ...»
Извините, был взволнован(с)
Нет, правда, не хотел оскорбить. Просто острая для меня тема поскольку а) люблю играть б) мой сын очень часто жмёт на «купить» поскольку это самая большая кнопка в меню и выскакивает чуть реже чем всегда. Не запретил бы in app purchases — ползарплаты бы на них улетало.
что и менно потестировать нельзя?
проверку покупки или что-то другое?
Если проверку покупки то можно, и очень просто.
Делаете билд подписанный adHoc сертификатом с правильнім bundle id, и совершаете покупку через тестовый аккаунт айтюнс коннекта. и все правильно обрабатывается. Даже не надо менять URL (sandbox не обязателен).
У меня в коде есть еще специальный метод, который отправляет ответ с сервера apple мне на сервер — это для регистрации покупки — в результате я в реальном времени вижу покупки — очень удобно для маркетиговых ходов.

Еще есть такая пакость, как «общий акаунт», хотя не знаю восстанавливаются ли покупки на разных устройствах, но по идеи должны.
Уже 1000 раз доказывали, что взлом приложения придает ему популярность, когда мое приложение появилось в общем аккаунте, оно вышло в топы и прекрасно там висит.
что за общий аккаунт? Делают один акк и потом его данные всем раздают?

Ну типо того, только аккаунт у них не один. Я не знаю как они работают, ибо не пользовался.
Only those users with full accounts are able to leave comments. Log in, please.