我正在使用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。
我该如何解决这个问题?
答案 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期望的内容不兼容。