Skip to content

Troubleshooting Old Revision

azeitler edited this page May 8, 2012 · 3 revisions

Old Revision Issues (PanicAR v1.0x)

1. Build Warning about un-assigned fields in Interface Builder Files

Open and re-save any XIB files included in PanicAR.

2. Build errors, e.g. "<Cstddef> no such file or directory" or "Expected ..."

  1. Make sure the framework is correctly included and found during the build process, if necessary add the Framework path to "Framework Search Paths" in either project settings or build target settings (make sure build target does not overwrite project settings)
  2. Force XCode to look for the Framework in the Paths you set forth by setting "Always Search User Paths" to "YES".
  3. Use recursive paths!
  4. Don't forget to set the "Other Linker Flags" to include "-ObjC"
  5. Make sure any file including (recursively) the PanicARLib has a .mm extension, only then will the compiler link to the C code parts of the PanicARLib.

3. -[YourAppDelegate arDidChangeOrientation:radarOrientation:]: unrecognized selector sent to instance XY

You forgot to implement the ARControllerDelegate in your App Delegate

4. +[ARController validateAPIKey:]: unrecognized selector sent to class

Checkout the latest version of the Framework! This is a bug that was fixed in 1.03b

5. Random Selectors not recognized at runtime

Add "-ObjC" to "Other Linker Flags" in Build Settings. cf. http://developer.apple.com/library/mac/#qa/qa1490/

6. MobileCoreServices.framework not found

Symptom:

Undefined symbols for architecture armv6: "_kUTTypeImage", referenced from: -[ARController initWithNibName:bundle:] in PanicARLib(ARController.o) "_kUTTypeMovie", referenced from: -[ARController initWithNibName:bundle:] in PanicARLib(ARController.o)

Solution:

Add the MobileCoreServices Framework

7. OBJ Files not loading or not rendered correctly

File Export Guidelines:

  • PanicAR needs OBJ files with a single object per file, try to keep the name of the object simple

  • at this point only meshes with up to 10,000 vertices are supported

  • the polygons of the object need to be triangulated

  • PanicAR supports only one UV map per object

  • PanicAR will not load Material settings from the .mtl file belonging to the .obj file (you can use arPreRenderPass in newer revisions of the Framework to setup material effects)

  • make sure the OBJ file has been exported including normals

  • how to make sure?

  • add a material with an assigned texture to the mesh in the 3d software you are using

  • some 3d packages (e.g. Cinema 4D) won't export mesh normals if the object doesn't have a material

  • how to check for normals?

  • open the file in a text-editor (OBJ is text-based) and look for the lines starting with "f"

  • if the lines look like this "f NUMBER/NUMBER/NUMBER NUMBER/NUMBER/NUMBER NUMBER/NUMBER/NUMBER" the normals are exported correctly

  • if the lines look like this "f NUMBER/NUMBER NUMBER/NUMBER NUMBER/NUMBER" the normals have not been exported correctly.

  • use the OBJ files included in the Framework repository for reference

  • import the files into your 3D package and check if they are imported correctly and how the object in the file is setup

  • export the file from your 3D package to a new file and compare the text source of both files for clues where your 3D package might export differently

8. Invalid API Key

Make sure you use the SAME BundleID as you sent us to create the API Key for you.

9. Marker does only appear as white surface

Most likely to occur after editing the Marker Template. The Template's dimensions (main view) need to be a power of 2, e.g. 128x256, 256x512, 256x256, 512x512 (up to 1024x1024 – exceeding this is not recommended). Make sure your width and height are a power of 2 and the template will be rendered correctly again.