# Installation

This section describes some basic installation procedures.

## Downloading the SDK

Current versions of the SDK are available at http://jabberdeveloper.com. You will need to login with your Cisco credentials to access and download the SDK.

## Unpacking the SDK

The Jabber Guest SDK for iOS is distributed as a zip file. The sdk folder contains the framework for iOS named JabberGuest.framework.

## Including the SDK in Your Project

1. Drag the JabberGuest.framework bundle to the Frameworks group of your project.
2. When prompted, select Copy items into destination's group folder.
3. Click Finish.
4. Right-click JabberGuest.framework in your project, and select Show in Finder.
5. Open the Resources folder and drag the JabberGuest.bundle to the Frameworks folder.
6. When prompted ensure Copy items into destination's group folder is NOT selected.
7. Click Finish.

8. Open the Supporting Files folder and rename main.m to main.mm (add another m to change it to a Obj-C++ source file).
9. Select your project from the Project Navigator, and choose your application's project.
10. Open the Build Settings tab.
11. Change the filter in the Build Settings bar from Basic to All.
12. In the Build Active Architecture Only section, select No.
13. In the Valid Architectures section, only armv7 should be listed. If armv7s or arm64 is listed, or any other achitecture that is not armv7, remove it.
14. In the Other Linker Flags section, add -ObjC.
15. In the C++ Standard Library section, choose the libstdc++ (CNU C++ standard library).
16. Select your application's target.
17. Open the Build Phases tab, and in the Link Binary With Libraries section, add the following frameworks and dynamic libraries:
    - AvFoundation.framework
    - AudioToolbox.framework
    - CoreMedia.framework
    - MediaPlayer.framework
    - QuartzCore.framework
    - Security.framework
    - SystemConfiguraiton.framework
    - libiconv.dylib
    - libresolv.dylib

## Updating your Application's plist File

The plist file must be updated to note the application will continue to play audio in the background.

1. Open your application's Info.plist file, which is usually found within the Supporting Files folder of your project.
2. Right-click in the editor and select Add Row.
3. From the drop-down list, select Required background modes.
4. Open Required background modes, open Item 0, and from the drop-down list, select App plays audio or streams audio/video using AirPlay.

If you would like to use the Cisco custom fonts in your app, you will need to update your application's Info.plist file and add the following custom fonts.

1. Open your application's Info.plist, which is usually found within the Supporting Files folder of your project.
2. Right-click in the editor and select Add Row.
3. From the drop down-list , select Fonts provided by the application.
4. Open Fonts provided by the application,add rows within this section for each of the fonts you would like to add.

- Open Item 0, add JabberGuest.bundle/CiscoSansTTLight.ttf
- Open Item 1, add JabberGuest.bundle/CiscoSansLight.otf
- Open Item 2, add JabberGuest.bundle/CiscoSansTTRegular.ttf
- Open Item 3, add JabberGuest.bundle/CiscoSansExtraLight.otf
- Open Item 4, add JabberGuest.bundle/CiscoSansTTBold.ttf

## Upgrading the SDK in Your Project

Upgrading the framework in your existing app consists of removing the old framework and copying over the new one.

First, remove the old framework from your app. You must delete the bundles in a specific order, otherwise Xcode will not be able to move the framework to the trash.

1. Select the JabberGuest.bundle from the Frameworks group in your project.
2. Delete it and make sure to click Move To Trash in the dialog box.
3. Select the JabberGuest.framework from the Frameworks group in your project.
4. Delete it and make sure to click Move To Trash in the dialog box.
5. Verify these two bundles no longer appear in the Frameworks group in your project.

Second, add the new framework to your app. Refer to the first six steps in Including the SDK in Your Project. You typically do not need to reconfigure the build settings of your project. The release notes will mention if a change is needed. After adding the latest framework, do a clean and build.