Я создаю экземпляр класса Objective C из экземпляра C ++.Проблема в том, что при попытке получить значения некоторых переменных (в экземпляре obj c) я всегда получаю 0. Некоторые NSLogs также игнорируются!:
Класс Objective C: InAppPurchaseManager.h
@interface InAppPurchaseManager : NSObject <SKProductsRequestDelegate, SKPaymentTransactionObserver>{
SKProduct *proUpgradeProduct;
SKProductsRequest *productsRequest;
@public
int finishedPurchaseProcess;
}
- (int)hasFinishedPurchaseProcess;
- (void)purchase;
@end
InAppPurchaseManager.m
@implementation InAppPurchaseManager
- (void)purchase{
finishedPurchaseProcess=1;
}
- (int)hasFinishedPurchaseProcess{
NSLog(@"STORE: HELLO THERE");
return finishedPurchaseProcess;
}
testApp.h класс testApp: public ofxiPhoneApp {public: void goToStoreFromMenu ();void checkPurchase ();InAppPurchaseManager * theStore;}
testApp.mm
// First I call ghis function
void testApp::goToStoreFromMenu(){
InAppPurchaseManager* theStore = [[InAppPurchaseManager alloc] init];
[theStore purchase];
}
// And then this function
void testApp::checkPurchase(){
cout << "Finished? " << [theStore hasFinishedPurchaseProcess] << "\n";
}
и результат всегда Готово?0 , даже если я установлю его на 1 в покупки .Также NSLog (@ "STORE: HELLO THERE"); игнорируется
Я не понимаю, что происходит