2011-02-04 4 views
1

これで間違ったことをしていますか?WP7 - IsTrial()メソッド - 常にfalseを返す(SIDELOADEDおよびPRODUCTION)

私のアプリは昨夜外出しましたが、無料トライアルのコードが起動していないことに気付きました。このメソッドは呼び出されており、常にFALSE(フルモード)を返します。

私は間違っていますか?今私のアプリは無料です:(

private static Boolean IsTrial() 
    { 
     #if DEBUG 
      return false; 
     #endif 

     var license = new Microsoft.Phone.Marketplace.LicenseInformation(); 
     return license.IsTrial(); 
    } 

現在、私はこのアプリは私のマシン上でサイドロードがあります。私はそれが常にサイドロードバージョンでは今。私のピボットヘッダを更新し、私が持っているさまざまなチェックのステータスを設定していますfalseを返します。

私は昨夜Marketplaceから私のアプリをダウンロード(無料試用版として)。製品版は常にFalseを返すので、サイドロードバージョンです。

任意のアイデア?

はこれがあります私の呼び出しコード(ちょうど場合には誰もが)興味を持っている:あなたは)私はあなたのためのケースで想定している(エミュレータで実行されている場合

private void MainPage_Loaded(object sender, RoutedEventArgs e) 
{ 

    pivotPills.Title = "PillBox v1.2 - Checking Mode:"; 
    App.ViewModel.RefreshTrialMode(); 
    pivotPills.Title = "PillBox v1.2 - Count:" + App.ViewModel.trialItemCollection.Count.ToString(); 
    //Checking Trial Mode: 
    if (App.ViewModel.trialItemCollection.Count == 0) 
    { 
     trialMode tm = new trialMode(); 
     tm.IsTrial = true; 
     tm.Save(); 
     pivotPills.Title = "PillBox v1.2 - Trial Mode:" + App.ViewModel.trialItemCollection.Count.ToString(); 
    } 
    else 
    { 
     if (App.ViewModel.trialItemCollection[0].IsTrial == true) //If saved isTrial = true (still a trial) then check MarketPlace Task 
     { 
      if (IsTrial() == false) //Purchased App 
      { 
       App.ViewModel.trialItemCollection[0].IsTrial = false; 
       StorageHelper.Save<ObservableCollection<trialMode>>(App.trialModeData, App.ViewModel.trialItemCollection); 
       pivotPills.Title = "PillBox v1.2 - Unlimited"; 
      } 
      else //Still in Trial Mode 
      { 
       //show marketplace window 
       NavigationService.Navigate(new Uri("/MarketPlace.xaml", UriKind.Relative)); 
      } 
     } 
    } 
} 

答えて

3

IsTrialメソッドは常にfalseを返します。試用版アプリケーションのデバッグに関するヘルプについては、MSDNのHow to: Test and Debug Your Trial Application for Windows Phoneの記事をご覧ください。

+0

アプリケーションがサイドロードされていても、このようにしていますか?私はエミュレータに#DEBUGハッシュコードを持っていました(特にあなたが提供したリンクを使用しました)...アプリケーションがリリースされ、MarketPlaceから無料試用版としてダウンロードしました。このコードを呼び出すと、False(私はMPからダウンロードしたサイドロードとバージョン)を返します。 right ... – webdad3

+0

マーケットプレイスからダウンロードしたアプリケーションに対して 'IsTrial'があなたにfalseを与えている場合、フレームワークに関する限り、試用版はありません。アプリケーションを提出し、試用版があると指定した場合、アプリケーションを試用モードにしているかどうかは、開発者のコ​​ントロールの範囲外です。 –

+0

これによれば、http:// wp7appl ist.com/app/7500/Pill+Box - 試用可能はい....私はそれがおそらくMS以上の私の問題であると感じています;)私はそれが逆でした。 – webdad3

2

送信したバージョンにDEBUGディレクティブが含まれていないことを確認してください。

また、Marketplaceのバージョンはバージョン1.0ですが、コードはバージョン1.2と思われるようです。見ているコードが、コンパイル/リリースされたコードと一致していないことだけですか?

また、連絡先を選択するときに[戻る]ボタンを押すとアプリがクラッシュします。 :(

+0

@Matt - 1.2が私の開発マシンにあり、これを理解しようとしています... 1.0バージョンには#Debugディレクティブが含まれているかもしれません...私はコメントしたと思っていましたが、今はしません覚えています...あなたが連絡先(医者、薬局、または別のもの)を選択したとき、あなたは何を意味しますか?私はまた、サイドローディングされたisTrialがfalseを返すことも読んでいます。それもあなたの理解ですか? – webdad3

+0

@Jeff「サイドロード」とはどういう意味ですか? IsTrialは、マーケットプレイスから来た場合にのみ、そのアプリケーションで動作します。 –

+0

@Jeff Chooserを使用しているときに、「ピルの詳細」ピボットのピリオドやその他のさまざまなポイントの電話番号をダブルクリックするとクラッシュします。 –

関連する問題