PhoneGap プラグインを介して (組み込みフレームワークを介して) アプリケーションをロードしています。
今、現在の UIViewController をFlashizFacadeオブジェクトのparentViewControllerプロパティに渡そうとしています。
アプリケーションを実行すると、 selfを割り当てるときにデバッグ コンソールに次のエラーが表示されます。
2012-09-10 13:01:43.663 gTicketSales[2805:16a03] -[FlashizPlugin navigationController]: インスタンス 0x91925e0 に送信された認識されないセレクター
2012-09-10 13:01:43.665 gTicketSales[2805:16a03] *** WebKit は、webView:decidePolicyForNavigationAction:request:frame:decisionListener でキャッチされていない例外を破棄しました: デリゲート:
<NSInvalidArgumentException>
-[FlashizPlugin navigationController]: インスタンス 0x91925e0 に送信された認識されないセレクター
self.viewControllerを割り当てる場合:
2012-09-10 14:31:21.455 gTicketSales[3693:16a03] *** WebKit は、webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate:
<Wrong parentViewController specified>
非モーダル表示を使用する場合、parentViewController である必要があります有効な navigationController が割り当てられた UIViewController のインスタンス
私はもう試した:
facade.parentViewController = self;
facade.parentViewController = self.viewController;
私の .h ファイル
#import <Cordova/CDVPlugin.h>
#import <FlashizPaymentLib/FlashizFacade.h>
@interface FlashizPlugin : CDVPlugin <FlashizPaymentDelegate> {}
@property (nonatomic, retain) FlashizFacade* flashizFacade;
- (void) openFlashiz:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
@end
私の .m ファイル
#import "FlashizPlugin.h"
@implementation FlashizPlugin
@synthesize flashizFacade;
- (void) openFlashiz:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options {
NSLog(@"Flashiz Payment Opening...");
NSString *callbackId = [arguments pop];
NSString *invoiceId = [arguments objectAtIndex:0];
FlashizFacade* facade = [[FlashizFacade alloc] initWithEnvironment:FE_TEST];
facade.parentViewController = self;
facade.delegate = self;
self.flashizFacade = facade;
[facade executePaymentForInvoiceId:invoiceId];
[facade release];
CDVPluginResult *result;
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:@"Flashiz Payment Executed..."];
[self writeJavascript:[result toSuccessCallbackString:callbackId]];
}
@end
前もって感謝します!