Plugin Phonegap iOS 6 Power Management

I tried installing this plugin on iOS now using cordova 2.7. I am using Xcode

I installed the config.xml file

<plugin name="PowerManagement" value="PowerManagement" /> 

Folders plugins: files PowerManagement.h and PowerManagement.m

and in my html:

  cordova.require('cordova/plugin/powermanagement').acquire( function() { alert( 'MARCHE' ); }, function() { alert( 'oh no!' ); } 

I have no warnings in my iPhone, I don’t know why.

I have this error: the CDVPlugin PowerManagement class (pluginName: PowerManagement) does not exist. 2013-07-03 14: 36: 34.619 ERROR: The PowerManagement plugin was not found or is not a CDVPlugin. Check the plugin in the config.xml file. [07]: [PowerLogagement1817140935], "PowerManagement", "release", []].

[Line 116] FAILED pluginJSON = ["PowerManagement1817140935", "PowerManagement"
+1
source share
1 answer

The github plugin version needs to be updated for the latest versions of Phonegap. I needed to use it, so I updated it. My Xcode test project containing the updated plugin can be downloaded here . Source code of the updated plugin:

PowerManagement.h

 /* * Copyright (C) 2011-2012 Wolfgang Koller * * This file is part of GOFG Sports Computer - http://www.gofg.at/. * * GOFG Sports Computer is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * GOFG Sports Computer is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GOFG Sports Computer. If not, see <http://www.gnu.org/licenses/>. */ /** * Cordova (iOS) plugin for accessing the power-management functions of the device */ #ifdef CORDOVA_FRAMEWORK #import <CORDOVA/CDVPlugin.h> #else #import "CORDOVA/CDVPlugin.h" #endif /** * Interface which does the actual handling */ @interface PowerManagement :CDVPlugin { } /** * Sets the idleTimerDisable property to true so that the idle timeout is disabled */ - (void) acquire:(CDVInvokedUrlCommand*)command; /** * Sets the idleTimerDisable property to false so that the idle timeout is enabled */ - (void) release:(CDVInvokedUrlCommand*)command; @end 

PowerManagement.m

 /* * Copyright (C) 2011-2012 Wolfgang Koller * * This file is part of GOFG Sports Computer - http://www.gofg.at/. * * GOFG Sports Computer is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * GOFG Sports Computer is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GOFG Sports Computer. If not, see <http://www.gnu.org/licenses/>. */ /** * Cordova (iOS) plugin for accessing the power-management functions of the device */ #import "PowerManagement.h" /** * Actual implementation of the interface */ @implementation PowerManagement - (void) acquire:(CDVInvokedUrlCommand*)command; { CDVPluginResult* pluginResult = nil; // Acquire a reference to the local UIApplication singleton UIApplication* app = [UIApplication sharedApplication]; if( ![app isIdleTimerDisabled] ) { [app setIdleTimerDisabled:true]; pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK]; } else { pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ILLEGAL_ACCESS_EXCEPTION messageAsString:@"IdleTimer already disabled"]; } [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; } - (void) release:(CDVInvokedUrlCommand*)command; { CDVPluginResult* pluginResult = nil; // Acquire a reference to the local UIApplication singleton UIApplication* app = [UIApplication sharedApplication]; if( [app isIdleTimerDisabled] ) { [app setIdleTimerDisabled:false]; pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK]; } else { pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ILLEGAL_ACCESS_EXCEPTION messageAsString:@"IdleTimer not disabled"]; } [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; } @end 

powermanagement.js

 /* * Copyright (C) 2011-2012 Wolfgang Koller * * This file is part of GOFG Sports Computer - http://www.gofg.at/. * * GOFG Sports Computer is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * GOFG Sports Computer is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GOFG Sports Computer. If not, see <http://www.gnu.org/licenses/>. */ cordova.define("cordova/plugin/powermanagement", function(require, exports, module) { var exec = require('cordova/exec'); var PowerManagement = function() {}; /** * Acquire a new wake-lock (keep device awake) * * @param successCallback function to be called when the wake-lock was acquired successfully * @param errorCallback function to be called when there was a problem with acquiring the wake-lock */ PowerManagement.prototype.acquire = function(successCallback,failureCallback) { exec(successCallback, failureCallback, 'PowerManagement', 'acquire', []); } /** * Release the wake-lock * * @param successCallback function to be called when the wake-lock was released successfully * @param errorCallback function to be called when there was a problem while releasing the wake-lock */ PowerManagement.prototype.release = function(successCallback,failureCallback) { exec(successCallback, failureCallback, 'PowerManagement', 'release', []); } var powermanagement = new PowerManagement(); module.exports = powermanagement; }); 
+3
source

All Articles