私は iOS プログラミングの初心者で、Cordova アプリケーションを iOS に [すばやく] 移植する必要があります。here で見つかったプロジェクトを複製しようとしたときに、次のエラーが発生しました。
何が原因で、コードを深く掘り下げずに解決するにはどうすればよいですか? (もし可能なら)
AppDelegate getCommandInstance:]: unrecognized selector sent to instance <instance>
ebKit discarded an uncaught exception in the
webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate:
<NSInvalidArgumentException> -[AppDelegate getCommandInstance:]: unrecognized selector
sent to instance <instance>
ありがとう。
[編集]
AppDelegate.h には以下の行があります
@property (nonatomic, retain) IBOutlet UIWindow* window;
@property (nonatomic, retain) IBOutlet CDVViewController* viewController;
AppDelegate.m は
CGRect screenBounds = [[UIScreen mainScreen] bounds];
self.window = [[[UIWindow alloc] initWithFrame:screenBounds] autorelease];
self.window.autoresizesSubviews = YES;
と
[self.window addSubview:self.viewController.view];
[self.window makeKeyAndVisible];
[編集]
これは、上記のエラーに記載されている getCommandInstance を参照するコードの唯一の部分です。このスニペットは SQLitePlugin.m にあります。
-(CDVPlugin*) initWithWebView:(UIWebView*)theWebView
{
self = (SQLitePlugin*)[super initWithWebView:theWebView];
if (self) {
openDBs = [NSMutableDictionary dictionaryWithCapacity:0];
[openDBs retain];
CDVFile* pgFile = [[self appDelegate] getCommandInstance: @"org.apache.cordova.file"];
NSString *docs = [pgFile appDocsPath];
[self setAppDocsPath:docs];
}
return self;
}