WP7 - IsTrial()方法 - 总是返回false(SIDELOADED和PRODUCTION)

时间:2011-02-04 13:59:17

标签: windows-phone-7

我做错了吗?

我的应用程序昨晚发布了,但我注意到我的免费试用代码没有解雇。正在调用此方法,它始终返回 FALSE(完整模式)

我做错了什么?现在我的应用程序是免费的:(

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

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

目前我已经在我的机器上安装了这个应用程序。我正在更新我的数据透视表标题并设置我所拥有的各种检查的状态。现在,在SIDELOADED版本中,它总是返回false。

我昨晚从MarketPlace下载了我的应用程序(作为免费试用版)。生产版本始终返回False,Sideloaded版本也是如此。

有什么想法吗?

这是我的主叫代码(以防有人感兴趣):

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));
            }
        }
    }
}

2 个答案:

答案 0 :(得分:3)

当你在模拟器中运行时,IsTrial方法总是返回false(我认为是你的情况)。查看MSDN上的How to: Test and Debug Your Trial Application for Windows Phone文章以获取有关调试试用应用程序的帮助。

答案 1 :(得分:2)

您确定您提交的版本不包含DEBUG指令吗?

市场中的版本也是版本1.0,但您的代码似乎认为它是版本1.2。只是你看到的代码与编译/发布的代码不匹配?

当我尝试在选择联系人时按后退按钮时,您的应用程序也会崩溃。 :(