你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> PhoneGap插件開發示例(iOS)

PhoneGap插件開發示例(iOS)

編輯:關於IOS

PhoneGap插件開發示例(iOS)

重要提示:如果你同時使用phonegap(cordova)和sencha-touch,一定先引入phonegap的js文件,否則你開發的插件可能不被調用!

PhoneGap相關介紹:
PhoneGap官網
PhoneGap中國
PhoneGap插件開發的簡單步驟:
1 新建一個基於PhoneGap的工程,如果還沒有PhoneGap SDK請去官網下載安裝,我目前使用的是PhoneGap1.3.0
2 在Plugins組下新建一個PGPlugin類的子類,命名為MyPGPlugin
MyPGPlugin.h

復制代碼

  1. #ifdef PHONEGAP_FRAMEWORK
  2. #import
  3. #else
  4. #import "PGPlugin.h"
  5. #endif
  6. @interface MyPGPlugin : PGPlugin {
  7. }
  8. - (void)addStr:(NSMutableArray*)arguments withDict:(NSDictionary*)options;
  9. @end

    MyPGPlugin.m

    復制代碼

    1. #import "MyPGPlugin.h"
    2. @implementation MyPGPlugin
    3. - (void)addStr:(NSMutableArray*)arguments withDict:(NSDictionary*)options
    4. {
    5. NSLog(@"%@", arguments);
    6. NSString *callbackId = [arguments pop];
    7. NSString *result = [NSString stringWithFormat:@"%@%@", [arguments objectAtIndex:0], [arguments objectAtIndex:1]];
    8. PluginResult *pr = [PluginResult resultWithStatus:PGCommandStatus_OK messageAsString:result];
    9. [self writeJavascript:[pr toSuccessCallbackString:callbackId]];
    10. }
    11. @end

      3 在www文件夾下新建一個js文件,這裡我也命名為MyPGPlugin

      復制代碼

      1. /**
      2. * 構造方法
      3. */
      4. function MyPGPlugin() {
      5. };
      6. /**
      7. * 字符串相加
      8. *
      9. * @param str1, str2
      10. */
      11. MyPGPlugin.prototype.addStr = function(successCallback, failureCallback, str1, str2) {
      12. PhoneGap.exec(successCallback, failureCallback, "MyPGPlugin", "addStr", [str1, str2]);
      13. };
      14. /**
      15. * 加載MyPlugin對象
      16. */
      17. PhoneGap.addConstructor(function() {
      18. if(!window.plugins)
      19. {
      20. window.plugins = {};
      21. }
      22. window.plugins.myPGPlugin = new MyPGPlugin();
      23. });

        4 修改PhoneGap.plist,展開Plugins,按”+”號新加一列.添加key MyPGPlugin和value MyPGPlugin
        5 使用,在index.html中添加如下代碼:
        導入js文件

        復制代碼

        1. <script type="text/javascript" charset="utf-8" src="MyPGPlugin.js"></script>

          定義js函數,添加在onDeviceReady函數定義後

          復制代碼

          1. function addStr(){
          2. var str1 = "str1";
          3. var str2 = "str2";
          4. window.plugins.myPGPlugin.addStr(successCallback, failureCallback, str1, str2);
          5. }
          6. //成功時回調的方法
          7. function successCallback(data){
          8. alert("result:"+ data);
          9. }
          10. //失敗時返回的方法
          11. function failureCallback(data){
          12. alert("error:"+ data);
          13. }

            添加一個button,測試一下

            復制代碼

            1. 6 編譯運行。

              參考鏈接:
              http://www.adobe.com/devnet/html5/articles/extending-phonegap-with-native-plugins-for-ios.html
              http://prostorys.blog.51cto.com/1522778/843699
              http://wiki.phonegap.com/w/page/36753496/How%20to%20Create%20a%20PhoneGap%20Plugin%20for%20iOS (被牆)

              隨後附上代碼免分下載地址!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved