Xamarin - NSURL返回null

时间:2015-07-02 23:28:51

标签: ios xamarin nsurl

我正在使用Xamarin的Unified API构建一个应用程序,并创建一个带字符串的NSUrl。但是,一旦我尝试创建NSUrl,应用程序就会崩溃。

string url = "comgooglemaps-x-callback://?daddr=" + destination; 
NSUrl googleMapsURL = new NSUrl (url);

url的值为comgooglemaps-x-callback://?daddr=600+Drake+Apartments\n600+Drake+St,+Vancouver+BC+V6B+5W7,+Canada

控制台中的消息是:

  

无法初始化“Foundation.NSUrl”类型的实例:   native'initWithString:'方法返回nil。可以忽略   这种情况通过设定   MonoTouch.ObjCRuntime.Class.ThrowOnInitFailure为false。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这将有效(使用您的上述代码进行测试)。

using System.Web.Services;
...

string destination = System.Web.HttpUtility.UrlEncode(
    "600 Drake Apartments\n600 Drake St, Vancouver BC V6B 5W7, Canada");

现在变成

"comgooglemaps-x-callback://?daddr=600+Drake+Apartments%0a600+Drake+St%2c+Vancouver+BC+V6B+5W7%2c+Can…"

将参考System.Web.Services添加到项目中。我的猜测是,您的URL编码,无论它来自何处,都与Apple API期望的内容不兼容。