2017-02-06 8 views
0

Я пытаюсь использовать gdx-pay для добавления IAP в свое приложение. Это отлично работает на Android, но мое приложение падает при попытке покупки теста. Я успешно настроил Песочницу на iTunes Connect, кажется, менеджер по закупкам, по крайней мере, успешно подключается. Тем не менее, я не получаю трассировку стека при сбое приложения, поэтому я не знаю, как начать отладку. Я добавил журналы в максимально возможное количество мест, ограниченных некоторыми файлами только для чтения. Это как поток идет, когда я пытаюсь купить IAP:Сбой при Gdx-оплате при попытке покупки на iOS

[GdxPay/AppleIOS] Products successfully received! 
[GdxPay/AppleIOS] Purchase observer successfully installed! 
2017-02-06 18:27:01.475036 Snowfall[478:80137] [info] PAYMENTINFO: Handling Install 
[GdxPay/AppleIOS] There are 0 unfinished transactions. Try to finish... 
[GdxPay/AppleIOS] Products successfully received! 
[GdxPay/AppleIOS] Purchase observer successfully installed! 
2017-02-06 18:27:01.719032 Snowfall[478:80137] [info] PAYMENTINFO: Handling Install 
[GdxPay/AppleIOS] There are 0 unfinished transactions. Try to finish... 
2017-02-06 18:28:02.054620 Snowfall[478:80137] [App] if we're in the real pre-commit handler we can't actually add any new fences due to CA restriction 
2017-02-06 18:28:02.054790 Snowfall[478:80137] [App] if we're in the real pre-commit handler we can't actually add any new fences due to CA restriction 
[GdxPay/AppleIOS] Purchasing product char2 ... 

Process finished with exit code -1 

не слишком уверен, почему «заканчивает процесс», приложение закрывается, и нет трассировки стека. Я использую IntelliJ для Mac OS. Простой стартовый вопрос: как включить лучшую трассировку стека на IntelliJ? И немного сложнее, что здесь происходит?

LibGDX версия 1.9.5

roboVM версия 2.3.0

GDX плати версия 0.10.3

Вот соответствующий код IOS. Весь другой код gdx-pay - это в основном копия-вставка из Github и отлично работает с Android.

Launch:

public class Snowfall extends IOSApplication.Delegate { 
JumpV6 game; 
@Override 
protected IOSApplication createApplication() { 
    IOSApplicationConfiguration config = new IOSApplicationConfiguration(); 
    config.orientationLandscape = true; 
    config.orientationPortrait = false; 
    game = new JumpV6(); 
    game.setAppStore(APPSTORE_APPLE); 
    return new IOSApplication(game, config); 
} 

@Override 
public boolean didFinishLaunching(UIApplication application, UIApplicationLaunchOptions launchOptions) { 
    super.didFinishLaunching(application, launchOptions); 
    game.setPlatformResolver(new IOSResolver(game)); 
    return true; 
} 


public static void main(String[] argv) { 
    NSAutoreleasePool pool = new NSAutoreleasePool(); 
    UIApplication.main(argv, null, Snowfall.class); 
    pool.close(); 
}} 

Резольвер:

public class IOSResolver extends PlatformResolver { 

String appleKey = "......"; //omitted 

public IOSResolver(JumpV6 myGame) { 
    super(); 

    PurchaseManagerConfig config = myGame.purchaseManagerConfig; 
    config.addStoreParam(PurchaseManagerConfig.STORE_NAME_IOS_APPLE,appleKey); 
    initializeIAP(null, myGame.purchaseObserver, config); 
    installIAP(); 
}} 

Спасибо

ответ

0

Через некоторое время работы через это, кажется, все, что мне нужно было сделать пост на Stack для того, чтобы посмотрите, что я делаю неправильно. Класс Resolver был скопирован из Интернета где-то, и я понял, что никогда не просматривал то, что делала каждая строка. Затем я подумал, что installIAP() не обязательно должен быть там, поэтому я прокомментировал это. Рабочая Резольвер:

public class IOSResolver extends PlatformResolver { 
    String appleKey = "......"; //omitted 
    public IOSResolver(JumpV6 myGame) { 
     super(); 
     PurchaseManagerConfig config = myGame.purchaseManagerConfig; 
     config.addStoreParam(PurchaseManagerConfig.STORE_NAME_IOS_APPLE,appleKey); 
     initializeIAP(null, myGame.purchaseObserver, config); 
     //installIAP(); 
    } 
} 

+0

У меня есть эта точная проблема. Можете ли вы уточнить, что означают 'initializeIAP()' и 'installIAP()' в вашем случае? В новых GdxPay sdks у меня есть только возможность вызвать 'PurchaseSystem.install (observer, config)'. – WeirdElfB0y

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

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