Troubleshooting

Invalid API Key

API keys are specific to the bundle identifier of your app (e.g. com.example.myapp). If your bundle identifier changes you will need to contact us at support@zappar.com, supplying the new bundle identifier, in order to obtain a new key.

Linker Errors

C++ Standard Libraries

Xcode should automatically link the C++ standard libraries when it builds your project. If for some reason it does not, and you receive linker errors as a result, you can ensure the correct behavior by creating (and including in the project) an empty '.mm' file. This can be done through the usual iOS File->New File->Objective-C file and ensuring the file type is '.mm'.

Automatic Framework Linking

Certain configurations of Build Settings can lead to linker errors like this:

"_xmlHasProp", referenced from:

There are a number of ways to fix this issue. You can either;

  1. change the Link Frameworks Automatically build setting to Yes; or,
  2. explicitly link against the necessary frameworks.

If you choose the later option, the following frameworks should be added to the Linked Frameworks and Libraries section under the General tab of your project's settings:

  • Accelerate.framework
  • AddressBook.framework
  • AddressBookUI.framework
  • ARKit.framework (mark as Optional)
  • AudioToolbox.framework
  • AVKit.framework
  • AVFoundation.framework
  • CFNetwork.framework
  • CoreMedia.framework
  • CoreMotion.framework
  • CoreVideo.framework
  • EventKit.framework
  • EventKitUI.framework
  • libsqlite.tbd
  • libxml2.tbd
  • libz.tbd
  • MessageUI.framework
  • MobileCoreServices.framework
  • OpenAL.framework
  • OpenGLES.framework
  • QuartzCore.framework
  • SystemConfiguration.framework
  • Twitter.framework
  • UIKit.framework
  • WebKit.framework

Unrecognized Selector Runtime Error

You may receive an error like this when instantiating the Zappar component at runtime:

+[NSData erDataFromBase64String:]: unrecognized selector sent to class

To fix this issue add -ObjC to your project's "Other Linker Flags" setting.

zapcode branded_zapcode i