Ios Wikitude不起作用。Poi不更改手机上的位置位置更改

Ios Wikitude不起作用。Poi不更改手机上的位置位置更改,ios,objective-c,ios8,augmented-reality,wikitude,Ios,Objective C,Ios8,Augmented Reality,Wikitude,我正在尝试在我的应用程序中集成AR poi视图和Wikitude。作为html,我使用了示例4\u兴趣点\u 4\u选择pois中的一个文件。它应该在我的位置周围渲染一些点。它做到了,但所有的点始终保持在相同的位置,虽然我改变了我的手机位置。我在控制台中没有任何错误。我怎样才能修好它 我的代码: #import "ViewController.h" #import <WikitudeSDK/WikitudeSDK.h> #import "PureLayout.h" @interfa

我正在尝试在我的应用程序中集成AR poi视图和Wikitude。作为html,我使用了示例
4\u兴趣点\u 4\u选择pois
中的一个文件。它应该在我的位置周围渲染一些点。它做到了,但所有的点始终保持在相同的位置,虽然我改变了我的手机位置。我在控制台中没有任何错误。我怎样才能修好它

我的代码:

#import "ViewController.h"
#import <WikitudeSDK/WikitudeSDK.h>
#import "PureLayout.h"

@interface ViewController () <WTArchitectViewDelegate>

@property (nonatomic, strong) WTArchitectView *architectView;
@property (nonatomic, weak) WTNavigation *architectWorldNavigation;
@property (nonatomic, weak) IBOutlet UIView *augmentedViewContainer;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    NSError *deviceNotSupportedError = nil;
    if ( [WTArchitectView isDeviceSupportedForRequiredFeatures:WTFeature_Geo | WTFeature_2DTracking error:&deviceNotSupportedError] ) { // 1
        self.architectView = [[WTArchitectView alloc] initWithFrame:CGRectZero motionManager:nil];
        self.architectView.delegate = self;
        [self.architectView setLicenseKey:@"<LICENSE_KEY>"];

        self.architectWorldNavigation = [self.architectView loadArchitectWorldFromURL:[[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html" subdirectory:@"4_PointOfInterest_4_SelectingPois"] withRequiredFeatures:WTFeature_Geo];

        [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidBecomeActiveNotification
                                                          object:nil
                                                           queue:[NSOperationQueue mainQueue]
                                                      usingBlock:^(NSNotification *note) {
                                                          if (self.architectWorldNavigation.wasInterrupted) {
                                                              [self.architectView reloadArchitectWorld];
                                                          }
                                                          [self startRunning];
                                                      }];

        [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationWillResignActiveNotification
                                                          object:nil
                                                           queue:[NSOperationQueue mainQueue]
                                                      usingBlock:^(NSNotification *note) {
                                                          [self startRunning];
                                                      }];

        [self.augmentedViewContainer addSubview:self.architectView];
        [self.architectView autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
    } else {
        NSLog(@"device is not supported - reason: %@", [deviceNotSupportedError localizedDescription]);
    }
}

- (void)startRunning {

    if ( ![self.architectView isRunning] ) {
        [self.architectView start:^(WTStartupConfiguration *configuration) {

        } completion:^(BOOL isRunning, NSError *error) {
            if ( !isRunning ) {
                NSLog(@"WTArchitectView could not be started. Reason: %@", [error localizedDescription]);
            }
        }];
    }}

- (void)pauseRunning {
    if ( [self.architectView isRunning] ) {
        [self.architectView stop];
    }}

- (void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

#pragma mark - Delegation

#pragma mark WTArchitectViewDelegate
- (void)architectView:(WTArchitectView *)architectView didFinishLoadArchitectWorldNavigation:(WTNavigation *)navigation {
    NSLog(@"didFinishLoadArchitectWorldNavigation");
}

- (void)architectView:(WTArchitectView *)architectView didFailToLoadArchitectWorldNavigation:(WTNavigation *)navigation withError:(NSError *)error {

    NSLog(@"Architect World from URL '%@' could not be loaded. Reason: %@", navigation.originalURL, [error localizedDescription]);
}

#pragma mark WTArchitectViewDebugDelegate

- (void)architectView:(WTArchitectView *)architectView didFailCaptureScreenWithError:(NSError *)error {
    NSLog(@"didFailCaptureScreenWithError %@",error);
}

- (void)architectView:(WTArchitectView *)architectView didEncounterInternalError:(NSError *)error {

    NSLog(@"WTArchitectView encountered an internal error '%@'", [error localizedDescription]);
}
#导入“ViewController.h”
#进口
#导入“PureLayout.h”
@界面视图控制器()
@属性(非原子,强)WTArchitectView*architectView;
@属性(非原子、弱)WTNavigation*architectWorldNavigation;
@属性(非原子,弱)IBUIView*augmentedViewContainer;
@结束
@实现视图控制器
-(无效)viewDidLoad{
[超级视图下载];
n错误*设备支持错误=nil;
如果([WTArchitectView isDeviceSupportedForRequiredFeatures:WTFeature_Geo | WTFeature_2跟踪错误:&deviceNotSupportedError]){//1
self.architectView=[[WTArchitectView alloc]initWithFrame:CGRectZero运动管理器:nil];
self.architectView.delegate=self;
[self.architectView setLicenseKey:@”“;
self.architectWorldNavigation=[self.architectView loadArchitectWorldFromURL:[NSBundle mainBundle]URLForResource:@“index”带扩展名:@“html”子目录:@“4\u兴趣点\u 4\u选择pois”]带所需功能:WTFeature\u Geo];
[[NSNotificationCenter defaultCenter]addObserverForName:UIApplicationIDBecMeactiveNotification
对象:无
队列:[NSOperationQueue mainQueue]
使用block:^(NSNotification*注释){
if(self.architectWorldNavigation.wasInterrupted){
[self.architectView重新加载ArchitectWorld];
}
[自起动耳轴];
}];
[[NSNotificationCenter defaultCenter]addObserverForName:UIApplicationWillResignActiveNotification
对象:无
队列:[NSOperationQueue mainQueue]
使用block:^(NSNotification*注释){
[自起动耳轴];
}];
[self.augmentedViewContainer addSubview:self.architectView];
[self.architectView autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsMake(0,0,0,0)];
}否则{
NSLog(@“设备不受支持-原因:%@,[DeviceNotSupporterRor localizedDescription]);
}
}
-(空)开始耳轴{
如果(![self.architectView正在运行]){
[self.architectView开始:^(WTStartupConfiguration*配置){
}完成:^(布尔正在运行,N错误*错误){
如果(!正在运行){
NSLog(@“WTArchitectView”无法启动。原因:%@,[error localizedDescription]);
}
}];
}}
-(无效)暂停运行{
如果([self.architectView正在运行]){
[self.architectView停止];
}}
-(无效)解除锁定{
[[NSNotificationCenter defaultCenter]移除观察者:self];
}
#布拉格马克-授权
#pragma标记WTArchitectViewDelegate
-(void)architectView:(WTArchitectView*)architectView didFinishLoadArchitectWorldNavigation:(WTNavigation*)导航{
NSLog(@“didFinishLoadArchitectWorldNavigation”);
}
-(void)architectView:(WTArchitectView*)architectView未能加载ArchitectWorldNavigation:(WTNavigation*)导航错误:(nError*)错误{
NSLog(@“来自URL“@”的Architect World无法加载。原因:%@”、navigation.originalURL、[error localizedDescription]);
}
#pragma标记WTArchitectViewDebugDelegate
-(void)architectView:(WTArchitectView*)architectView didFailCaptureScreenWithError:(nError*)错误{
NSLog(@“didFailCaptureScreenWithError%@”,错误);
}
-(void)architectView:(WTArchitectView*)architectView未遇到内部错误:(N错误*)错误{
NSLog(@“WTArchitectView”遇到内部错误“@”[error localizedDescription]);
}
当前结果:

在某些iPhone上,指南针无法正常工作,要修复此问题,需要使用
iPhone settings>General>reset>reset location&Privacy
重置位置设置。之后,应用程序开始工作,没有任何代码更改

解决方案是由罗曼·维斯特在