2014-05-09 28 views
0

我使用的是phonegap 2.6.0,ios 7 sdk的設備是5.1。我已經實現應用內購買經理pluginIos應用內購買請求數據函數不能觸發?

在deviceready功能我曾嘗試調用的RequestData()函數,但它不是解僱,因爲它應該是

function onDeviceReady(){ 
    alert(window.plugins.inAppPurchaseManager); //-->This alerts as Object 

    window.plugins.inAppPurchaseManager.onPurchased = function(transactionIdentifier, productId, transactionReceipt) { 
     updatePurchaseTable(productId); 
     window.location.reload(); 
     console.log('purchased: ' + productId); 
    } 

    window.plugins.inAppPurchaseManager.onRestored = function(transactionIdentifier, productId, transactionReceipt) { 
     console.log('restored: ' + productId); 
     /*See the developer guide for details of what to do with this */ 
    } 

    window.plugins.inAppPurchaseManager.onFailed = function(errno, errtext) { 
     alert('failed: ' + errtext); 
    } 
    window.plugins.inAppPurchaseManager.requestProductData("ProductId1", function(result) { 
      alert(result.id); //-->this doesn't happen 
      console.log("productId: " + result.id + " title: " + result.title + " description: " + result.description + " price: " + result.price); 
        //window.plugins.inAppPurchaseManager.makePurchase(result.id, 1); 
      }, function(id) { 
      alert("Invalid product id: " + result.id); 
      } 
    ); 


} 

我config.xml文件

<?xml version="1.0" encoding="UTF-8"?> 

<widget> 
    <preference name="AllowInlineMediaPlayback" value="false" /> 
    <preference name="AutoHideSplashScreen" value="true" /> 
    <preference name="BackupWebStorage" value="cloud" /> 
    <preference name="DisallowOverscroll" value="false" /> 
    <preference name="EnableLocation" value="false" /><!-- DEPRECATED --> 
    <preference name="EnableViewportScale" value="false" /> 
    <preference name="FadeSplashScreen" value="true" /> 
    <preference name="FadeSplashScreenDuration" value=".25" /> 
    <preference name="HideKeyboardFormAccessoryBar" value="false" /> 
    <preference name="KeyboardDisplayRequiresUserAction" value="true" /> 
    <preference name="KeyboardShrinksView" value="false" /> 
    <preference name="MediaPlaybackRequiresUserAction" value="false" /> 
    <preference name="ShowSplashScreenSpinner" value="true" /> 
    <preference name="SuppressesIncrementalRendering" value="false" /> 
    <preference name="TopActivityIndicator" value="gray" /> 

    <content src="index.html" /> 

    <plugins> 
     <plugin name="Device" value="CDVDevice" /> 
     <plugin name="Logger" value="CDVLogger" /> 
     <plugin name="Compass" value="CDVLocation" /> 
     <plugin name="Accelerometer" value="CDVAccelerometer" /> 
     <plugin name="Camera" value="CDVCamera" /> 
     <plugin name="NetworkStatus" value="CDVConnection" /> 
     <plugin name="Contacts" value="CDVContacts" /> 
     <plugin name="Debug Console" value="CDVDebugConsole" /> 
     <plugin name="Echo" value="CDVEcho" /> 
     <plugin name="File" value="CDVFile" /> 
     <plugin name="FileTransfer" value="CDVFileTransfer" /> 
     <plugin name="Geolocation" value="CDVLocation" /> 
     <plugin name="Notification" value="CDVNotification" /> 
     <plugin name="Media" value="CDVSound" /> 
     <plugin name="Capture" value="CDVCapture" /> 
     <plugin name="SplashScreen" value="CDVSplashScreen" /> 
     <plugin name="Battery" value="CDVBattery" /> 
     <plugin name="Globalization" value="CDVGlobalization" /> 
     <plugin name="InAppBrowser" value="CDVInAppBrowser" /> 

     <platform name="ios"> 
      <config-file target="config.xml" parent="/*"> 
       <feature name="InAppPurchaseManager"> 
        <param name="ios-package" value="InAppPurchaseManager" /> 
       </feature> 
      </config-file> 

      <!-- Note: the ios src is based off src/ios implicitly --> 
      <header-file src="InAppPurchaseManager.h" /> 
      <source-file src="InAppPurchaseManager.m" /> 
      <framework src="StoreKit.framework" /> 
     </platform> 
    </plugins> 
    <access origin="*" /> 
</widget> 

並且.h和.m文件位於項目源中的插件文件夾中。在本地

InAppPurchaseManager.m

文件中- (void) requestProductData:(CDVInvokedUrlCommand*)command功能

我也作出了警告,這並不表明任何警報也。

回答

0

有一個更近期的和流行的iOS IAP插件在這裏:https://github.com/j3k0/PhoneGap-InAppPurchase-iOS

最終它會更好地工作。

+0

你的插件是我在科爾多瓦2.6的第一選擇window.storekit是(未定義)不初始化,我嘗試了很多事情來解決,但徒勞無功。所以,我已升級到科爾多瓦3.0,現在它與您的插件。但thnx您的答覆 –