> Requirements


Last updated on February 14, 2012

Required Files

To add the SDK to your app’s project, you need to add 2 files to your target:

  • RedLaserSDK.h
  • libRedLaserSDK.a

If you are a licensee, and don’t want to use the SDK in evaluation mode, you’ll also need to add:

  • RedLaser_License.xml

The “RedLaser_License.xml” file needs to be generated for your app from the redlaser.com website. See the section on licensing for details.

Optional Files

The SDK package contains a set of image and sound assets that your application may use as part of the app-supplied overlay. These files should make it easier to create an overlay similar to the one used by the RedLaser app. The SDK itself does not use these files.

Note: Showing the “powered_by_redlaser.png” image to the user when scanning is a requirement of our standard SDK license; from a technical standpoint, you can rename the image file, or make it a .jpg, or incorporate it into a larger overlay graphic. The SDK doesn’t attempt to access it.


The RedLaser library itself depends on the following Apple frameworks:

  • UIKit.framework
  • Foundation.framework
  • CoreVideo.framework
  • CoreMedia.framework
  • CoreGraphics.framework
  • AVFoundation.framework
  • OpenGLES.framework
  • Security.framework
  • libiconv.dylib
  • libstdc++.dylib
  • libz.dylib
  • AdSupport.framework
  • CoreLocation.framework
  • MobileCoreServices.framework

Depending on how you set up your project, the standard c++ library may or not be included by default.


The minimum OS version for the RedLaser SDK is 4.3. This requirement matches the minimums imposed by XCode 4.5 and iOS SDK 6.0.

Applications that wish to run on iOS versions prior to 4.0 and still use RedLaser features on 4.0 and above can still do so. Developers should be able to weak link against the appropriate OS frameworks, and have their apps load on iOS 3.x. We’ve provided a convenience function, RL_CheckReadyStatus(), that checks whether the frameworks required by RedLaser are available. If this function returns RLState_MissingOSLibraries, your app should not attempt to instantiate an instance of BarcodePickerController.

It will almost certainly crash your app.

Deprecation Notice: In the near future, the RedLaser SDK’s minimum OS requirements will be increased, probably to iOS 5.0 and greater. When this happens, RL_CheckReadyStatus will return RLState_MissingOSLibraries on pre-5.0 devices.

Hardware Considerations

The RL_CheckReadyStatus function also checks for the existence of a camera on the device. If no camera is found, this function returns RLState_NoCamera, and you shouldn’t use RedLaser (although it won’t crash if you attempt it, it doesn’t do anything useful).

The SDK can be used in the iPhone Simulator, but cannot scan actual barcodes. Even if your computer has a webcam, it isn’t hooked up to the simulator’s AVFoundation framework. When running in the Simulator, the SDK’s view will show a UIButton that ‘fakes’ recognizing a barcode when clicked.