Arc semantic issues in xCode error log after upgrade from Graphhopper 0.5.0 to 0.8.2

I have removed the old version (0.5.0) of graphhopper and installed the new version (0.8.2). The installation works fine. When I import the new graphhopper.xcodeproj into my xCode project my app project will not build anymore.

These are the 6 errors in the directions.m.

Directions.m:154:31: No visible @interface for ‘GHResponse’ declares the selector ‘getDistance’
Directions.m:157:40: No visible @interface for ‘GHResponse’ declares the selector ‘getMillis’
Directions.m:179:39: No visible @interface for ‘GHResponse’ declares the selector ‘getPoints’
Directions.m:215:35: No visible @interface for ‘GHResponse’ declares the selector ‘getDistance’
Directions.m:217:44: No visible @interface for ‘GHResponse’ declares the selector ‘getMillis’
Directions.m:247:43: No visible @interface for ‘GHResponse’ declares the selector ‘getPoints’

These are my import statements in the directions.m file that I use for my app project:

import “Directions.h”
import “MBXMapKit.h”

import “com/graphhopper/GraphHopper.h”
import “com/graphhopper/routing/util/EncodingManager.h”
import “com/graphhopper/GHRequest.h”
import “com/graphhopper/GHResponse.h”
import “com/graphhopper/util/PointList.h”
import “com/graphhopper/storage/GraphStorage.h”


The details of the errors are:

float km1 = [response getDistance]; //Directions.m:154:31: No visible @interface for ‘GHResponse’ declares the selector ‘getDistance’


PointList *points = [response getPoints]; //Directions.m:247:43: No visible @interface for ‘GHResponse’ declares the selector ‘getPoints’


float milliseconds = [response getMillis]; //Directions.m:157:40: No visible @interface for ‘GHResponse’ declares the selector ‘getMillis’


Has anyone experienced these kinds of issues when upgrading graphhopper? Does anyone have suggestions for a fix? Thanks.

Update: I have also tried with gh version 0.7.0 and 0.6.0 but both give the same errors. The only version that works is gh 0.5.0

Tags
ghresponse, upgrade, graphhopper, interface, arc, semantic, selector

There was a minor API change inbetween the versions where you need to pick the best alternative first. You have to call the following (only Java, but it should be similar in ObjectiveC):

PathWrapper path = ghResponse.getBest();
double distance = path.getDistance();
1 Like