Wikitude iPhone API out now
You are developing a cool iPhone app or planning to?
You are presenting your users with geo-referenced data?
You want to show points where they are in reality and give your users a WOW effect?
If you answered these questions with “Yes,” you definitely should read this blog post. If not, read it anyhow and maybe it will inspire the best idea of your life.
Nearly six months ago we published our API for the Android platform. Some really great apps, like the Location Scout (thx Jeff), were developed since then using our API as simple way to enhance the experience for their users.
Now we want to make iPhone developers happy and announce that our iPhone API is ready for all of you to use! The concept is the same as with the Android version: it’s simple and easy to use, and you don’t have to worry about the AR view, because it is part of the API itself.
When we finished the API, we thought about cool ways to showcase the potential of the API. We came up with a lot of ideas, but we are sure your imagination for use cases will go way beyond what we came up with.
Thx to Lester from Augmented Planet and my colleagues, who are all huge soccer fans, we created a simple demo application which shows all FIFA World Cup 2010 soccer stadiums in South Africa. After creating this app, I am an expert in all the matches and where they will be played, because it was my task to prepare all the info for implementation.
As I mentioned earlier, the integration of the API is fairly easy. It took me about half an hour to develop the application and half an hour to organize the data which I wanted to display. In our showcase we wanted to show a list of matches for each stadium along with a thumbnail. But if you have a shop finder application, you could just as easily use it to display the opening hours or the address. The list of possibilities goes on and on. And if you already have the points you want to display and know which information you want to show in the AR view, you will be surprised how quickly you will see your points in your augmented reality view.
Once you have registered and downloaded the API package from our developer webpage. There are 4 basic steps to creating your own AR view:
- Add the WikitudeAPI-Folder containing the Static Library, Public Headers and Resources to your iPhone-Project in Xcode.
- Add additional frameworks to your project and make changes to the linker flags (details are found in the API documentation)
- Within your custom application, create a new WikitudeARViewController with your registration data – this ViewController returns the camera view.
- Add your data as POI array and start the view
If you think this can’t be that easy – try it, and you will see that it really is! You will also find more features to customize your AR view and POIs:
Each POI can have its own action which can be defined for the action button (displayed in the POI bubble). So be creative! I decided it would be nice to hear a horn-sound, so I would really be in the soccer mood.
Customizable menu buttons: This allows for further individualization of your AR view. Open a new view, show special information to a POI, etc.
If you are interested now in what the soccer stadium application looks like, below is a short video. Try it out and you will see that I have not lied when I said it was easy!
Last but not least, thx to my colleagues I will probably become a soccer fan too, because I really had fun creating this app.
If you have questions or suggestions regarding the API, you’re more than welcome to contact me.
22 Comments
1 Trackback
- Building the Wikitude Sample App for iPhone 4 - [...] a simple AR treasure hunt game. I looked at the APIs for Layar, ARToolKit, Junaio, and settled on Wikitude ...



08. April 2010
bonjour,
Je désire créer un calque pour personnaliser mes POI et eviter d’avoir le logo WIkitude.me.pensez vous que je puisse le faire sans connaissance en programmation?
merci
08. April 2010
Hi Fred,
If you wish to customize your POIs and create your own World which is visible in Wikitude, you have different ways to do so. Please have a look here: http://www.wikitude.org/addcontent. If you need further information on how you can customize your World or how you can work with the Wikitude API just let me know.
Thx and greetings,
Nicola
09. April 2010
Hello
I try to learn the api of wikitude but i’m new in iphone develop
so it’s hard to understand the api document
do you have any sample code for me?
It would be nice if wikitude publish some sample code.
Thx
09. April 2010
Hi Dai,
Please download the latest iPhone API package. A sample application and the documentation of the API, is included in the zip file. If you have any further question regarding the use of the API, please contact me.
Thx and greetings,
Nicola
09. April 2010
I just download the lastest API for iPhone, there is no sample app in there (only in the android api)
Anyway, i just gonna ask straingforward
So I just want to compile a simple app to make this api work in my XCODE
1. I make a new view-base app
2. copy the wikitube API to my scode, add all the requried framewoek
3. then in my view Controller, I add this
#import “WikitudeARViewController.h”
@interface test4ViewController : UIViewController
{
WikitudeARViewController* wikitudeAR;
}
@end
in my .m file, i do this
#import “test4ViewController.h”
@implementation test4ViewController
- (void) verificationDidSucceed{
NSLog(@”yes”);
}
- (void) verificationDidFail{
NSLog(@”yes”);
}
- (void) actionFired:(WTPoi*)POI
{
NSLog(@”yes”);
}
- (void) APIFinishedLoading{
NSLog(@”yes”);
}
- (void) didUpdateToLocation: (CLLocation*) newLocation
fromLocation: (CLLocation*) oldLocation
{
NSLog(@”yes”);
}
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
wikitudeAR = [[WikitudeARViewController alloc]
initWithDelegate :????
applicationPackage :@”packagename”
applicationKey :nil
applicationName :@”appname”
developerName :nil];
}
I just don’t know what to put in the “initWithDelegate”, the document also is not clear for me…
could you help me? also please if possible add a sample for iphone
best
11. April 2010
Hi Dai,
The iPhone API package should include a zip file (WikitudeAPI-SampleAPI.zip) which is the sample application.
If your test4ViewController implements the WikitudeARViewControllerDelegate (eg. test4ViewController : NSObject ) then you can put ’self’ for the initWithDelegate. If you have any further questions you can also write me a mail (nicola.radacher(at)mobilizy.com).
Greetings
Nicola
15. April 2010
Hi all,
I have just tryied the iphone api package yesterday but i have faced an issue to build the sample into the zip file.
I have had this logs in my console, if anybody can help me… :
ld: warning: in /Users/kiki/Desktop/Wikitude_iPhoneAPI_1.0.3/WikitudeAPI-SampleAPP/WikitudeAPI-SCM-Test/WikitudeAPI/libWikitudeAPI.a, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols:
“.objc_class_name_WTPoi”, referenced from:
literal-pointer@__OBJC@__cls_refs@WTPoi in WikitudeAPI_SCM_TestAppDelegate.o
literal-pointer@__OBJC@__cls_refs@WTPoi in CustomMenuButtonDelegateImpl1.o
“.objc_class_name_WikitudeARViewController”, referenced from:
literal-pointer@__OBJC@__cls_refs@WikitudeARViewController in WikitudeAPI_SCM_TestAppDelegate.o
literal-pointer@__OBJC@__cls_refs@WikitudeARViewController in CustomMenuButtonDelegateImpl1.o
literal-pointer@__OBJC@__cls_refs@WikitudeARViewController in CustomMenuButtonDelegateImpl3.o
“.objc_class_name_WikitudeARCustomMenuButton”, referenced from:
literal-pointer@__OBJC@__cls_refs@WikitudeARCustomMenuButton in WikitudeAPI_SCM_TestAppDelegate.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
I think xcode can’t find WTPoi, WikitudeARViewController & WikitudeARCustomMenuButton class but i can’t explain it!
Thanks
15. April 2010
Hi Eric,
Did you test with the Simulator or the iPhone. This error msg seems like you tested with the Simulator which is unfortunately not possible at the moment. We are working on a version which allows testing with the Simulator as well. If you have any further questions, you can also contact me via mail (nicola.radacher(at)mobilizy.com)
Thx
Nicola
20. April 2010
Hi all,
I am trying to run the sample application in nexus one but keep getting the ClassCastErrors. Can anyone provide a quick start for running the sample app BasicOpenARDemoActivity?
21. April 2010
Hi Ryan,
Could you please provide me with details on the exception and firmware information of your Nexus One. Which Wikitude version have you installed on your phone? You’re welcome to write me these things in a mail as well (nicola.radacher(at)mobilizy.com).
Thx
Nicola
04. June 2010
hi,
I have got sample code for wikitude API but i dont know how to use it and which parameter have to pass.Please give me more details so i can implement this.
10. June 2010
Hi,
are there any news on issue posted by Eric?
Is it possible to create a build with iPhone simulator as target?
Thanks
Adolfo
16. June 2010
Hi Manthan,
Thx for your interest in our API. Could you please send me your questions (especially if you use the Android or iPhone version) per mail. (nicola.radacher(at)mobilizy.com.
Greetings
Nicola
16. June 2010
Hi Adolfo,
Unfortunately currently there is no possibility to build with the simulator. We’ll keep you posted.
Greetings
Nicola
08. July 2010
Hi wikitude team,
I faced some trouble using Iphone SDK 4. I have got this issue : “___save_vfp_d8_d15_regs”, referenced from:
“___restore_vfp_d8_d15_regs”, referenced from:
after having installed sdk4. Can you tell me if wikitude api package for iphone is workinf with sdk4 or not?
thanks
08. July 2010
Hi Eric,
The latest API version from the webpage does support SDK4. Does this happen if you try the Demo App? Please send me details via mail (nicola.radacher(at)mobilizy.com)
Thx
Nicola
09. July 2010
Hi All,
The issue i have encountered just over :
….using Iphone SDK 4. I have got this issue : “___save_vfp_d8_d15_regs”, referenced from:
“___restore_vfp_d8_d15_regs”, referenced from:
Can be fixed by checking the option ‘Build Active architecture only’, in your build option.
Thanks Nicola for your support, i hope this post can help someone
23. July 2010
Hi,
This framework is great (iphone) ! But I need help on those stuff :
1/ You talk about hide or show method in your documentation, because AR is a subview in my case. but I didn’t see the implementation. How to do that ?
2/ Is it possible to remove the tab bar ?
3/ Is it possible to start the view in landscape mode ? Be cause your lib have to detect an orientation change, but I want to display the AR view when turning on the landscape mode.
4/ Is it possible to customize the interface ?
Thank you for your job
23. July 2010
Hi Sébastien,
Great to hear that you like our API. Here’s to your questions:
1. please check in the API package in the WikitudeARViewControllerDelegate there are hide/show definitions. In your appliation eg if you define a customButton to close the view, there you should call the hide. Once you wish to show the view again, call show
2. no currently the tab bar can not be removed. The distanceslider, custom menu buttons are currently displayed on the tab bar.
3. yes you can start the AR view also in landscape mode. You don’t need to ‘inform’ the view about the orientation in any way.
4. currently you can customize the icons which are shown on the icons and define an action for each POI. More options will come.
If you need anything further, just contact me.
Greetings
Nicola
23. July 2010
Hi Nicola,
Thank you for your feedback ; I was mistaken because I took the API from the example ; it doesn’t seem to be up to date.
Have some others questions :
- Can we remove the distance limit ? Or set a new value ?
- Does the app should compile with the simulator (iOS4.1) ? I’ve got 21 errors … but it’s working on the device.
It should be great to have the possibility to more customize the interface, ie remove the tab bar, put the compass on the top left corner, manage distance … but it’s really good for now !
Thank you so much.
23. July 2010
Hi Sébastien,
I will check that right away.
- The distance is calculated from the POI furthest away.
- Unfortunately currently the API can not be tested with the Simulator. We will change this soon. So until changed please use a phone for testing.
Thx
Nicola
08. August 2010
I ran into similar build and configuration errors with the Wikitude iPhone sample app. Here’s a step by step guide on how to get the sample app to build properly with minimal knowledge of XCode or iPhone development.
http://www.simple10.com/building-the-wikitude-sample-app-for-iphone-4/
I hope it helps.