Citrix Xenmobile Wrapping with SAP BusinessObjects Mobile on iOS
This article is going to describe how we can use the Citrix XenMobile platform and wrap the SAP BusinessObjects Mobile for the iOS version. For referring to the Citrix Xenmobile wrapping with SAP BusinessObjects Android version, Please refer to my earlier blog in the following link :
1. SAP BusinessObjects Mobile iOS SDK (Latest SDK (As of now , its 6.4.5) can be downloaded from SAP Service market place)
2. Citrix XenMobile Platform for wrapping and applying policies
3. MDX Toolkit (Available from Citrix )
4. Latest xCode installed on your Mac
5. Provisioning profile and Production certificate (If you are deploying in enterprise wide, then you require production standards as per Apple Standards), For internal POC , you can continue to use a Developer certificate as well
What is Citrix XenMobile Platform for wrapping :
Mobile application management allows you to securely manage and deliver mobile apps to users. Citrix Xenmobile provides is a cloud based platform which helps wrap applications helping in enhancing security(customized) and enforce policies specific to organizations and as the apps can be distributed to to the enterprise users securely through the CitrixWorx app . Its easy for larger organizations consuming multiple applications which helps them unify the experience with common security and policies for distribution and accessing the application with managed controlled timely updates to their deployed apps. Applications can be wrapped with Citrix Xenmobile platform using the Citrix MDX Toolkit, ones.The MDX Toolkit inserts logic and policies into each mobile app. The wrapped MDX toolkit app has to be uploaded to the Xenmobile platform for applying different policies and as well as assigning the distribution details.
How to make SAP BusinessObjects Mobile for iOS work
On high level, I have divided this process into four steps namely :
- Creating the unsigned IPA out of SAP BusinessObjects Mobile SDK.
- Create the MDX format file through the with MDX Toolkit.
- Uploading to Xenmobile Platform and Configurations as required for SAP BusinessObjects Mobile .
- Wrapped app distribution.
Please go to SAP Service market place and download the SAP BusinessObjects Mobile for iOS SDK . SAP BusinessObjects Mobile BI iOS SDK is a readily available from SAP which can primarily be used for the following purpose :
1. Do some Customization like Branding changes , On-boarding , customize product features , text , images and icons and a whole lott more.
2. Can be used to extend the already available charts by having new charts introduced into the Web intelligence Reports - New Chart as extensions
3. Used for Large enterprises for deploying the version required across the organizations like including above customization and on-boarding experience like predefined connections, enable/disable features etc.
4. Embedding the Web Intelligence and Dashboard content rich viewer which is available into your custom applications
5. Extend the SAP BusinessObjects Mobile with more features.
6. Use of Secure solutions like Citrix Wrapping, Mocana Wrapping etc (Which today we would be doing it : Citrix)
Well, i will not get much into the above SDK feature details which can involve the extensive customization which you can do. Rather, I would focus more on how to get Citrix wrapping running successfully once you have done any customization / or not from this SDK
Lets begin !!!
Step 1 : Create the Unsigned IPA
Unzip the downloaded SDK project (Which is primarily a zipped project). Double click the .xCode project file (SAPBI_SDK.xcodeproj) which would open the SDK project in xCode IDE. If you would be interested to do any customization on this , you are free to do at this stage. Do a Clean and Build. Check the app is running successfully with/without customization done on iOS simulators .
SAP BusinessObjects Mobile SDK project comes with a default Bundle ID for the app. You would need to change based on your organization namespace . You can find a plist file (SAPBusinessObjectsMobile-Info.plist )in the unzipped SDK project folder where-in you can change the Bundle ID under Bundle Identifier field. By default, SAP provided com.sap.apps.Mobi which MUST be changed .
Now, you would need to generate the IPA out of xCode. There are multiple ways of generating an IPA out of xCode. I will define two ways , however you are free to use even more ways as known.
Method 1 : (Recommended for Production level for enterprise wide rollout)
Please click the link below which is from Apple documentation (You would require a production certificate for the same to achieve it)
Method 2 : (You can do this even if you have just a developer certificate, would recommend this for internal POC and not production )
- Do a manual build in Xcode.
- Select your app (.app file from your xCode project) in Products > Reveal in Finder. and copy it in any folder.
- Create a directory called Payload.
- Move the copied app into the folder Payload.
- Right click Payload > Compress Payload , this would create a Zipped file called payload.zip
- change .zip extension to .ipa.
- And your IPA file is ready
Step 2 : Create MDX file required to upload in XenMobile Platform
Download MDX Toolkit from Citrix website. MDX toolkit is available for Mac OS X .
You can refer to the following link for MDX installation details :
Installation of MDX toolkit in mac is simple , Double click the downloaded DMZ and just install .
- Open the MDX Toolkit , in the welcome screen, Read the instructions and click Next
- In the Next screen, provide the input package which is the IPA which you have generated and click next
- Provide the app name with some description and required details as per your enterprise needs for Min/max iOS version support and exclusions, As well check mark the Strip extensions which is by default available and click Next
- Provide the provisioning profile and the iOS developer certificate
- Your Bundle ID defined in your SDK project should be visible in this screen. Check the App ID is correct for the provisioning profile and Click Yes/No button
- Click Create button
- This should start generating the IPA file and you should be proceeding with the confirmation page from where you can click the button "Show in Finder" to see your MDX file generated
I have provided the complete workflow with the screenshots as below:
Step 3 : Upload to XenMobile Platform and Configure Required Policies
- Open your browser and login to your Citrix Xenmobile administration console login page with your credentials .
- Click the Tab Configure
- In the new Page, Clock the Tab "Apps"
- Click the link "Add" for adding the newly created Mdx file
- Choose the option "MDX"
- In the new screen, On the left panel , Uncheck Android and Windows since we are only going to do this for iOS.
- On the right side of the screen, provide the name , some description and you can select your enterprise app category which has been provided by your admin, for me its default and click NEXT
- Choose the MDX file and upload
- Once uploaded , you will reach the settings screen where you would be required to configure the settings as required for SAP BusinessObjects Mobile Android app.
- Please follow the below configurations which are required mandatory for the app to run successfully, i will try to explain as well why these settings are required.
- Under Encryption settings, Select Off for "Enable Encryption"
- Under App Interaction, Do the following settings:
- Under App Restrictions :
- Under App Network Access ,
The policies above required are specific to SAP BusinessObjects Mobile to work properly . More settings can surely be applied on top of it as per your enterprise security standards.
To access the configured Citrix wrapped app, you would need to have the Citrix Worx Home application in your iOS device. The app is available for download through the Citrix Worx Home.. Download the application from Apple app store and login to the application as provided by your administrator. If the user logged in has been given access for download of the app, he or she can download the same to your mobile directly from this Citrix Home app .
Any further policies if changed would get re-deployed as per Citrix standards.
Thats it !!