Wikitude iPhone API out now

Wikitude iPhone API out now

March 12, 2010 in Blog, Wikitude API 23 Comments

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.

Greetings,
Nicola
View Nicola Radacher's LinkedIn profile

Nicola

Nicola studied Geo-Information Science in Rottenmann, Austria. After nearly 3 years of gathering experiences in software-developement and project management at Real Networks, she joined Mobilizy in July 2009 and likes managing projects and all geo-relevant areas this job involves. She loves skiing and spending time with friends.

Visit website

22 Comments

  • fred
    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

  • Nicola
    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

  • Dai
    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

  • Nicola
    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

  • Dai
    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

  • Nicola
    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

  • Eric
    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

  • Nicola
    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

  • Ryan
    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?

  • Nicola
    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

  • manthan
    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.

  • Adolfo
    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

  • Nicola
    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

  • Nicola
    16. June 2010

    Hi Adolfo,
    Unfortunately currently there is no possibility to build with the simulator. We’ll keep you posted.
    Greetings
    Nicola

  • Eric
    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

  • Nicola
    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

  • Eric
    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

  • Sébastien
    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

  • Nicola
    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

  • Sébastien
    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.

  • Nicola
    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

  • Joe
    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.

1 Trackback

Leave a Reply

Your name here
Your name here
September 6, 2010

Gravatars are enabled. Register for free!

Recent Comments

Imprint / © 2010 Mobilizy - some Pictures by flickr.com under creative commons; created by querdenken.at