Phonegap for IOS Plugin外掛程式開發

來源:互聯網
上載者:User

1.建立Phonegap工程MyPlugin

環境

xcode4.5.1

phonegap2.1.0

2.在Plugin檔案夾下建立實現Plugin子類

////  MyPlugin.h//  MyPGPlugin////  Created by kllmctrl on 12-10-29.////#import <Cordova/CDV.h>@interface MyPlugin : CDVPlugin- (void) add:(CDVInvokedUrlCommand*)command;@end

#import "MyPlugin.h"#import <Cordova/CDV.h>@implementation MyPlugin- (void) add:(CDVInvokedUrlCommand*)command{    CDVPluginResult* pluginResult = nil;    NSString* javaScript = nil;        @try {                NSString* echo = [command.arguments objectAtIndex:0];        NSString* echo2 = [command.arguments objectAtIndex:1];                if (echo != nil            && [echo length] > 0            && echo2 != nil            && [echo2 length] > 0) {                        /**             *相加字串             */            NSString *addResult = [NSString stringWithFormat:@"%@%@", echo, echo2];            pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:addResult];            javaScript = [pluginResult toSuccessCallbackString:command.callbackId];                                } else {            pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];            javaScript = [pluginResult toErrorCallbackString:command.callbackId];        }    } @catch (NSException* exception) {        pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_JSON_EXCEPTION messageAsString:[exception reason]];        javaScript = [pluginResult toErrorCallbackString:command.callbackId];    }        [self writeJavascript:javaScript];}@end

3.在www->js檔案夾下建立實現 MyPlugin.js

var MyPlugin = {add: function(args,args2,addSuc,addFaild) {    cordova.exec(addSuc, addFaild, "MyPlugin", "add", [args,args2]);}};

4.修改index.html

<!DOCTYPE html><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.  You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. --><html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />        <meta name="format-detection" content="telephone=no" />        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />        <link rel="stylesheet" type="text/css" href="css/index.css" />        <title>kllmctrl</title>    </head>    <body>        <div class="app">            <h1>Apache Cordova kllmctrl</h1>            <div id="deviceready" class="blink">                <p class="event listening">Connecting to Device</p>                <p class="event received">Device is Ready</p>            </div>        </div>        <script type="text/javascript" src="cordova-2.1.0.js"></script>        <script type="text/javascript" src="js/MyPlugin.js"></script>        <script type="text/javascript">        document.addEventListener("deviceready", onDeviceReady, false);        function onDeviceReady() {            /**             * 載入成功調用js             */            MyPlugin.add("My","Plugin",addSuc,addFiald);        }        </script>                <script type="text/javascript">            /**             * js回呼函數             */            function addSuc(result) {                console.log('addSuc='+result);            }            function addFiald() {                console.log('addFiald');            }            </script>    </body></html>

5.配置Cordova.plist

在Plugins建MyPlugin=MyPlugin

6.run

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.