Xamarin组件5.3.0 for iOS中的Wikitude InjectLocation()无效

时间:2016-10-01 11:13:21

标签: xamarin.ios wikitude

我正在尝试使用POI功能创建一个简单的Wikitude AR Xamarin应用程序。我在iPhone 5S上使用Wikitude组件5.3.0和iOS 10.2,使用Xamarin Studio 6.1.1和Xamarin iOS 10.0.1.8。我正在使用MvvmCross创建具有共享代码的PCL库,并尝试使用WTArchitectView创建我的UIViewController。我已经创建了一个自定义绑定,用于从myviewmodel获取位置更新。可在此处https://bitbucket.org/ershovd/xamarin-augmented/src访问项目代码。

问题是我无法获得位置更新,并且不会调用onLocationChanged JS函数。我已设置LocationAlwaysUsageDescription设置,并在提示时启用应用程序中的位置信息。我甚至在调试时获得位置信息(纬度,经度)。但是,当我尝试使用具有特定坐标信息的InjectLocation()方法时,JS中的onLocationChanged处理程序不会被调用。此外,WTArchitectView实例上的IsUsingInjectedLocation始终设置为false,即使我指定UseInjectedLocation = true;

,也不会更改为true

Android项目的类似设置工作正常,我也附上了它。

我试图使用官方的Xamarin示例https://github.com/Wikitude/wikitude-xamarin/,但它们已经过时了。在我升级到最新版本并修复一些编译错误(API与最新版本相比有一些变化)之后,它仍会产生相同的结果(例如onLocationChanged事件不会被调用而InjectLocation方法什么都不做。

我是否遗漏了我需要在iOS应用程序中设置的用于接收更新位置更新的内容?为什么IsUsingInjectedLocation属性始终设置为false,如何将其设置为启用?

此外,如果有人可以在iOS的最新Xamarin组件版本(5.3.0)的位置示例中提供POI的工作示例,这将非常有用。

谢谢,

1 个答案:

答案 0 :(得分:0)

问题是我将错误的枚举Wikitude.Architect.WTFeatures.Geo值传递给方法void foo() { struct detail { static void bar() { //statements } }; detail::bar(); } 。对我有用的价值是foohttps://developers.google.com/maps/faq#usage_apis