2012-11-12 2 views
0

У меня есть приложение, которое имеет расходную IAP. Это IAP, который пользователи потребляют в течение времени, что-то вроде IAP, имеет 100 пунктов, тогда как пользователи могут использовать 10 сегодня и 50 завтра, поэтому у пользователя будет 100-10-50 = 40 точек для дальнейшего использования. Приложение выдает начальные точки 100, чтобы пользователи могли попробовать. Я использовал UserDefaults для записи, и он отлично работает, ИСКЛЮЧИТЕЛЬНО, когда пользователь удаляет приложение - когда я тестировал два метода: 1, удалить и переустановить, я снова получил 100 пунктов; 2, я перезапустил язык iPhone и снова получил 100 очков. Это означает, что пользователи не пойдут слишком много, чтобы получить начальные 100 баллов, что в основном остановит мой IAP от продажи.Является ли Ios Keychain подходящим для моей проблемы с IAP?

В настоящее время у меня нет внешнего сервера для записи/проверки IAP. Я не хочу пуленепробиваемый механизм для предотвращения взлома. Все, что я хочу, это то, что может выжить, удалить/переустановить. После чтения страниц stackoverflow и я узнал, что 1, keychain выдержать удаление/переустановить, 2, он обычно используется для пароля, 3, некоторые разработчики используют его для хранения флагов IAP (купил IAP или нет), но 4, я не знаю если нормально хранить NSNumber (40 пунктов осталось в приведенном выше примере). Интересно, подходит ли брелок для моего дела.

Если брелок в порядке, чтобы хранить NSNumber, у кого-нибудь есть код для обмена? Благодарю.

Обновления с помощью Lockbox: Почему я получил ошибку Apple Mach-O-Linker: Objc-class-ref в ViewController.o? Что-то связано с ARC? Я видел, что Granoff (разработчик Lockbox) сказал, что ARC позаботился об этом автоматически. То, что я сделал, это добавить файлы Lockbox.h и .m в мой проект и импортировать в мое приложение. После этого приложение не запускается из-за ошибки. Однако, когда я попробовал использовать блок-проект Lockbox, он работает. Любое понимание? Благодарю.

ошибка Lockbox я получил:

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_Lockbox", referenced from: 
    objc-class-ref in ViewController.o 
    ld: symbol(s) not found for architecture i386 
    clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Я добавил рамки "Безопасность". После добавления рамки безопасности я скопировал файлы Lockbox.h и .m в свое приложение. В файле ViewController.m, где я планирую использовать методы блокировки, я добавил «#import» Lockbox.h "". Я мог бы выполнить этот шаг без ошибок. Затем я добавил следующую строку: if ([Lockbox stringForKey: mylockboxstring]! = Nil) {} Я получил ошибку, показанную выше.

ответ

3

Да.

Посмотрите на http://github.com/granoff/Lockbox. Это класс для этого, хотя вам может потребоваться либо расширить его для хранения NSNumber или использовать один из поддерживаемых в настоящее время типов данных, например NSString.

+0

Я предполагаю, что у Apple нет проблем с этим, не так ли? Я попробую это сегодня и приму ваш ответ, если он сработает. Благодаря! –

+0

Нет, не проблема. API-интерфейсы Keychain являются общедоступными. Я использовал это в нескольких приложениях, все в App Store. –

+0

Почему я получил ошибку Apple Mach-O-Linker: Objc-class-ref в ViewController.o? Что-то связано с ARC? Я видел, что Granoff (разработчик Lockbox) сказал, что ARC позаботился об этом автоматически. То, что я сделал, это добавить файлы Lockbox.h и .m в мой проект и импортировать в мое приложение. После этого приложение не запускается из-за ошибки. Однако, когда я попробовал использовать блок-проект Lockbox, он работает. Любое понимание? Благодарю. –

 Смежные вопросы

  • Нет связанных вопросов^_^