2012-02-29 23 views
1

我是iOS和Phonegap新手,請耐心等待。我在我的index.html下面的代碼 -Phonegap - 無法從javascript調用本機iOS功能

function onDeviceReady() 
{ 
    // do your thing! 
    //navigator.notification.alert("PhoneGap is working"); 
    MyClass.nativeFunction(
     ["HelloWorld"] , 
     function(result) { 
       alert("Success : \r\n"+result);  
      }, 

      function(error) { 
       alert("Error : \r\n"+error);  
      } 
    ); 

} 

我還有一個文件名爲MyClass.js它具有如下 -

var MyClass = { 

nativeFunction: function(types, success, fail) { 
return PhoneGap.exec(success, fail, "MyClass", "print", types); 
} 

} 

我有一個名爲MyClass的一個目標C類的方法打印有一個NSLog語句。但那是永遠不會達成的。這是什麼原因?

更新:我的.h類

#import <Foundation/Foundation.h> 
#import <PhoneGap/PGPlugin.h> 

@interface MyClass : PGPlugin { 

    NSString* callbackID; 
} 

@property (nonatomic, copy) NSString* callbackID; 

//Instance Method 
- (void) print:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options; 

@end 
+0

請添加您的MyClass.h文件代碼。你在擴展PGPlugin嗎? – rooftop 2012-02-29 23:08:38

+0

@rooftop添加了它。我正在擴展PGPlugin。 – Suchi 2012-02-29 23:14:13

回答

3

你有沒有加入你的插件到你的PhoneGap.plist文件?

如果是這樣,你使用什麼鍵/值?它在我看來應該是MyClass/MyClass

+0

是的,我已經做到了 – Suchi 2012-03-01 15:24:57

+0

好吧,我創建了一個空白的新項目。複製你的代碼到'MyClass.h'和'MyClass.js'以及一個基本的'MyClass.m',它們在調用print時被NSLogged了一個字符串...把這個插件添加到'PhoneGap.plist'( MyClass/MyClass),並在我的'index.html'文件中包含'MyClass.js' javascript,它緊跟在'phone gap-1.4.1.js'腳本標記之後,並且一切正常。 – Devgeeks 2012-03-01 23:07:50

+0

你可以在任何地方發佈你的代碼,這樣我可以看看嗎?它只是不適合我 – Suchi 2012-03-02 15:01:23