我有一个phonegap项目,我已经使用它在iPhone应用商店提交了我的应用程序。
我正在使用cordova-2.2.0.js。现在我想实现应用内购买插件,以便在我的应用程序中提供应用内购买。
我试着从下面的链接中添加应用内插件:
https://github.com/phonegap/phonegap-plugins/tree/master/iPhone/InAppPurchaseManager然后我在cordova.plist文件中添加了InAppPurchase插件。
当我写下下面提到的代码时
(a)在我的javascript中,控件转到InAppPurchaseManager.js插件和代码
(b)已签立。
(a)
window.plugins.inAppPurchaseManager.requestProductData(
"org.xxx.abcd.pqr",
function(productId, title, description, price) {
alert("data retrieved");
//window.plugins.inAppPurchaseManager.makePurchase(productId, 1);
},
function(id) {
alert("Invalid product id: " + id);
}
); (b)
InAppPurchaseManager.prototype.requestProductData = function(productId, successCallback, failCallback) {
var key = 'f' + this.callbackIdx++;
window.plugins.inAppPurchaseManager.callbackMap[key] = {
success: function(productId, title, description, price ) {
if (productId == '__DONE') {
delete window.plugins.inAppPurchaseManager.callbackMap[key]
return;
}
successCallback(productId, title, description, price);
},
fail: failCallback
}
alert("product id: " + productId + "key: " + key);
var callback = 'window.plugins.inAppPurchaseManager.callbackMap.' + key;
cordova.exec('InAppPurchaseManager.requestProductData', productId, callback + ' .success', callback + '.fail');
}在代码(b)中,一切正常,直到下面的代码行:
cordova.exec('InAppPurchaseManager.requestProductData', productId, callback + '.success', callback + '.fail');问题是:为什么应用程序会停在上面提到的行。此外,警告框显示在属于InAppPurchaseManager.js的代码(b)中。
我已经在itunesconnect上添加了一个应用内项目,它处于“准备提交”模式。
发布于 2013-03-06 20:31:24
问题解决了。
在PhoneGap1.8.1中,我们必须从cdvjk_JSONRepresentation中删除前缀cdvjk_,并从InAppPurecheManager.m文件中删除所有其他变量。
我能够成功地在应用程序中执行..
发布于 2013-02-27 19:30:18
不知何故让它工作了..
在沙箱应用程序时出现了一些问题。我也从4.2迁移到了Xcode4.3。
现在,我可以获取产品详细信息并获取日志,如下所示:-获取产品数据。-已获得iap产品响应..-发送abc.pqr.xyz.productid的js (产品id)
然后是异常:
正在终止应用程序,因为未捕获异常'NSInvalidArgumentException',原因:'-__NSArrayI cdvjk_JSONRepresentation:无法识别的选择器已发送到实例0x9156f40‘
我用谷歌搜索了一下,但没找到太多..我正在使用cordova-1.8.1。
有什么解决方案吗??
https://stackoverflow.com/questions/14658789
复制相似问题