Cordova Phonegap 3.0 iOS7应用程序首选项插件

Cordova Phonegap 3.0 iOS7应用程序首选项插件,cordova,ios7,Cordova,Ios7,有没有人能够让ApplicationPreferences插件()与phonegap的新插件api一起工作?我以旧的方式安装插件,并不断出现以下错误: ERROR: Method 'getSetting:' not defined in Plugin 'applicationPreferences' 我检查了一下以确保包含了.js文件 我检查以确保包含.h和.m文件 我也想在Phonegap 3/iOS7中使用这个插件,所以我已经对它进行了更新。您可以下载包含更新插件的MyPhoneGap3测

有没有人能够让ApplicationPreferences插件()与phonegap的新插件api一起工作?我以旧的方式安装插件,并不断出现以下错误:

ERROR: Method 'getSetting:' not defined in Plugin 'applicationPreferences'
  • 我检查了一下以确保包含了.js文件
  • 我检查以确保包含.h和.m文件

  • 我也想在Phonegap 3/iOS7中使用这个插件,所以我已经对它进行了更新。您可以下载包含更新插件的MyPhoneGap3测试项目

    代码如下:

    applicationPreferences.js

    cordova.define("applicationPreferences", function(require, exports, module) {
        var exec = require('cordova/exec');
    
        var ApplicationPreferences = function() {};
    
    
        ApplicationPreferences.prototype.get = function(key, successFn, errorFn) {
            exec(successFn, errorFn, 'applicationPreferences', 'getSetting', [key]);
        }
    
            ApplicationPreferences.prototype.set = function(key,value, successFn, errorFn) {
                exec(successFn, errorFn, 'applicationPreferences', 'setSetting', [key,value]);
            }
    
        var applicationPreferences = new ApplicationPreferences();
        module.exports = applicationPreferences;
    });
    
    applicationPreferences.h

    #import <Foundation/Foundation.h>
    
    #import <Cordova/CDVPlugin.h>
    
    @interface applicationPreferences : CDVPlugin
    {
    
    }
    
    -   (void) getSetting:(CDVInvokedUrlCommand*)command;
    -   (void) setSetting:(CDVInvokedUrlCommand*)command;
    -   (NSString*) getSettingFromBundle:(NSString*)settingName;
    
    
    @end
    
    示例用法

    cordova.require("applicationPreferences").set("foo", "bar",
          function () {
            alert("Successfully set preference 'foo' with value 'bar'");
          },
          function (error) {
            alert("Failed to set preference 'foo' with value 'bar' - error:" + error);
          }
    );
    
    cordova.require("applicationPreferences").get("foo",
          function (value) {
            alert("Successful get of preference 'foo' with value '"+value+"'");
          },
          function (error) {
            alert("Failed to get value for preference 'foo' - error:" + error);
          }
    );
    

    我能让它工作。(谢谢,Dpa99c!)如果您遇到困难,请记住,您仍然需要像“旧”(Cordova/PhoneGap 2.*)版本一样进行设置。也就是说,您需要将Settings.bundle添加到项目中并进行相应的编辑。并且,您需要添加:

    <feature name="applicationPreferences">
        <param name="ios-package" value="applicationPreferences" />
    </feature>
    
    
    
    到您的config.xml

    除此之外,还要将上面显示的文件放在正确的位置

    <feature name="applicationPreferences">
        <param name="ios-package" value="applicationPreferences" />
    </feature>