Skip to content

Setup

BearSDK supports Carthage and CocoaPods. Example of Cartfile included in sample app.

Carthage

Add this to your Cartfile file:

github "Alamofire/Alamofire" == 5.4.4
github "ReactiveX/RxSwift" == 5.1.3
binary "https://s3.eu-west-1.amazonaws.com/mobile-dev.bear2b.com/bearsdk-ios/BearSDK.json" == 3.3.1
./carthage.sh bootstrap --platform iOS

CocoaPods

Add this to your Podfile file:

platform :ios, '12.0'
use_frameworks!

target `YourApp` do
    pod 'BearSDK', '3.3.1'
end
pod install

Manual

  • Download zip archive;
  • Add to Frameworks, Libraries, and Embedded Content section in your project BearGL.framework and Vuforia.framework together with BearSDK.framework.
  • Integrate dependencies as you wish - Carthage or CocoaPods or Swift Package Manager or manually.
"Alamofire/Alamofire" == 5.4.4
"ReactiveX/RxSwift" == 5.1.3

Disable bitcode in Build Settings

ENABLE_BITCODE = NO;

Add Excluded Architectures Build Settings

EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64;

Setup valid architectures

VALID_ARCHS = $(ARCHS_STANDARD_64_BIT);

Info.plist

Required

  • Add camera usage description to describe how app will use camera.
<key>NSCameraUsageDescription</key>
<string>Camera will let you scan pages</string>

Optional

  • if you want to use facebook assets with deeplinks to go from your application to facebook app directly - setup this key to your app info.plist.
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>fb</string>
</array>
  • Add location usage description if you want to use geolocalized markers.
<key>NSLocationWhenInUseUsageDescription</key>
<string>Allows you to scan geolocalized markers</string>
  • Add photo library usage description if you want to provide ability to save images or screenshots to camera roll.
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Save images and screenshots</string>

By default BearSDK supports content only through https. Thats why you have to use only https in ARGO Platform.

If you want to support http at your own risk - you are able to specify NSAllowsArbitraryLoads key to true in NSAppTransportSecurity.

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>