xbmc/xbmc — pull request #3437 by Memphiz (2013-10-16 06:28:44+00:00)
Title: [iOS] - Adaptions for developing for XBMC on non-jailbroken devices

Given my new official ios dev powers (*hahaaa*) i want to make it a bit easier for official devs without jailbroken devices to work on our code. This PR does the following.

1. Detecting if we are running in the sandbox (e.x. on non-jailbroken devices, or in general if XBMC was deployed using Xcode)
2. Setting the XBMC root folder to:
a. If XBMC is running in the sandbox /Documents/XBMC (this folder is accessable from iTunes shareing!)
b. If XBMC is running as system app (e.x. jailbroken device installed via deb/cydia) /Library/Preferences/XBMC - so nothing changes here (same like before)
3. Activate iTunes file sharing (this allows devs to access /Documents/XBMC via iTunes - it doesn't do ANYTHING for deb/cydia installed XBMC versions as it only works for sandboxed apps)
4. In our codesigning support script:
a. If compiled directly as checked out from our tree - all is like before
b. If the dev sets is genuine codesign identity in the XBMC-iOS target in Xcode the codesigning support script will do a full sign of the bundle (includeing all binaries *.pvr, *.viz, *.so which would be missed by Xcode). This allows XBMC to be installed and run on non-jailbroken devices when deployed via Xcode. (NO HW ACCELERATION of course!)

Kudos to @diederich who worked the signing out on devcon. Maybe he wants to review this along with @davilla.

A call to all official iOS app developers. Once this goes in - start to code the hell out of XBMC and help us in improving it :o).

I tested this on the following device combinations - both with and without signing
- iPod4 running iOS 6.1.2 jailbroken,
- iPhone4s running iOS 6.0.2 non-jailbroken,
- iPad1 running iOS 5.1.1 jailbroken,
- iPad2 running ios 6.1.2 jailbroken

For completing the matrix - it was tested by using
- 10.6.8 with xCode 3.2.6 with and without dev cert
- 10.7.4 with xCode 4.6.0 with and without dev cert
- 10.8.5 with xCode 4.6.2 with and without dev cert

Jenkins built this too already (did a test compile from my branch).