2016-01-21 114 views
1

在我的Windows Phone应用程序中,我已经集成了Parse版本1.7.0,并且正在为Windows Phone 8.0及更高版本开发。我跟着parse.com的指示,我得到异常:解析给设备例外,但在Windows中的模拟器工作正常?

System.ArgumentNullException: Value cannot be null. Parameter name: uriString 
    at System.Uri..ctor(String uriString) 
    at Parse.Internal.ParseCommand..ctor(String relativeUri, String method, String sessionToken, IList`1 headers, Stream stream, String contentType) 
    at Parse.Internal.ParseCommand..ctor(String relativeUri, String method, String sessionToken, IList`1 headers, IDictionary`2 data) 
    at Parse.Internal.ParseAnalyticsController.TrackAppOpenedAsync(String pushHash, String sessionToken, CancellationToken cancellationToken) 
    at Parse.ParseAnalytics.TrackAppOpenedWithPushHashAsync(String pushHash) 
    at Parse.ParseAnalytics.TrackAppOpenedAsync() 
    at xxxx.App.<Application_Launching>d__5.MoveNext() 

并在异常即将到来的代码是

try{ 
     await ParseAnalytics.TrackAppOpenedAsync(); 
     } 
     catch (Exception ex){ 
        Debug.WriteLine("Exception in Parse Initialise \n" + ex.Message); 

} 

但在仿真器工作正常...

+0

看看堆栈跟踪。检查哪个方法需要uriString。 –

+0

看起来你缺少一些配置或初始化代码。 – CodeCaster

+0

@CodeCaster请参阅更新后的问题 – Group

回答

2

我最好的猜测是,单击文档中的某处并查看异常消息,您无法正确初始化Parse SDK。

从他们Quickstart for Windows Phone,“新建项目”,表示第一个代码块是:

public App() 
{ 
    // (existing project code here) 
    ParseClient.Initialize("APPLICATION ID", ".NET KEY"); 
} 

我只能假设,这将初始化一些静态变量,如URI张贴解析消息,并这是从您的应用程序中丢失。

话虽这么说,我坚持我先前的评论:当然会更好,如果这样的库抛出ConfigurationErrorsException或出现InvalidOperationException像“找不到的AppSettings键X”“呼叫(初始化方法)第一个“,而不是盲目传递未初始化的变量,并让框架代码抛出异常。

+0

很抱歉,但它的做工精细模拟器......不是在设备... – Group

+1

我不能这样做与评论什么。 – CodeCaster

相关问题