Jump to content
Welcome to our new Citrix community!
  • 0

XenMobile MDX app deployment error with "invalid iTunes store ID"


Carsten Kraft

Question

Hello,

 

I've written a PoC iOS app using XCode together with the XenMobile MDX SDK framework included and deployed it using the ad-hoc deployment. The "Run Script" generated the MDX file successfully. Now, I've configured the MDX app in XenMobile cloud and add it to my internal XM app store and delivery group.

When trying to install the app (via SecureHub app or delivery group deployment), XM Deployment fails with the error "Invalid iTunes store ID: {url}".

 

Our requirement is a plain internal business use case within a company/organization. MDX apps must only be deployed via delivery group without using the public apple store. Therefor, we do not have a apple store url for this app available.

 

Is there a way to deactivate this XM error message for this use case?

 

The goal is to test the MDX app on the iOS device with a valid configured MDX app configuration.

My second question would then be, how this MDX app configuration file can be deployed manually (for development and debugging purposes directly with XCODE)? Is this possible for XM / MDX app development?

 

Thank you very much for the support & feedback!

 

Carsten Kraft

Link to comment

3 answers to this question

Recommended Posts

  • 0

Hi Carsten,

 

Because it sounds like you are still in the planning and development phase, I would suggest the use of the new MAM SDK from Citrix, rather than the MDX framework.

You can read more about the MAM SDK at https://www.citrix.com/blogs/2020/03/02/how-to-get-ready-for-the-new-mam-sdks/

 

If the intention is to definitely stay with the MDX framework instead, at least for now, then the problem above seems to be caused by how the app is being deployed. XenMobile Server integrates with Apple Business Manager for DEP, VPP and Apple Schools Manager functions. See 'Custom B2B apps' in the following guide provided by Apple:

https://www.apple.com/business/docs/site/VPP_Business_Guide.pdf 

 

Alternatively, if there can be no communications with the App Store (not even with VPP App Store for Private Apps), then the following details specific to the MDX framework might help:

 

From: https://docs.citrix.com/en-us/mdx-toolkit/developer-guide-overview/system-requirements.html#other-requirements-for-wrapping-ios-mobile-apps

Note the types of Developer certificates which are ok to use when MDX wrapping.

 

 

From https://docs.citrix.com/en-us/mdx-toolkit/developer-guide-overview/developing-ios-apps.html#integrating-the-sdk-into-your-app-library

Quote

 

Open the new Run Script, and then type the following text into the Script field. Be sure to change the PACKAGEID, APPTYPE, STOREURL, and POLICYFILE variables to values that are applicable to your app. The PACKAGEID is a unique identifier for your app, typically a UUID. This is not mandatory, as the MDX Toolkit generates a unique packageID whenever the application is built. If you supply a packageID, ensure that it is unique for every new app version you wrap using this command.

 

If this app is an Enterprise app, use the parameter -Apptype Enterprise which is the default value. For ISV apps, you can use the Premium or General values.

 

Note:

The supported keywords for APPTYPE are Enterprise, Premium, and General.

 

 

Let me know if these links have been useful at all. Perhaps there are some other links which you have been using instead to help with your research?

Best regards,
David

 

 

Link to comment
  • 0

Thanks David for your answer!

 

In our first step, we implemented the MDX SDK into our third-party app using XCode to access the (MDX) Shared Vault. When we run the app from XCode to an enrolled iPhone, we receive an error message that the MDX configuration is missing for the app in that moment. This makes sense to me as the mdx configuration is created once the finished (mdx) app is uploaded to Citrix cloud and configuration is written for all given meta policy options.

 

Is there a way to provide the MDX configuration (file) for our app in development mode with XCode at runtime? Can this be done by another run script etc. This all happens before we finally upload the mdx compiled app to citrix cloud.

 

I will also try to switch implementation to the very new MAM_SDK_iOS_Beta_20.2.5.3. Is there already a sample available how to access the MDX shared vault with the MAM SDK?

 

Thank you!

Carsten

 

Link to comment
  • 0
19 minutes ago, Carsten Kraft said:

Thanks David for your answer!

 

In our first step, we implemented the MDX SDK into our third-party app using XCode to access the (MDX) Shared Vault. When we run the app from XCode to an enrolled iPhone, we receive an error message that the MDX configuration is missing for the app in that moment. This makes sense to me as the mdx configuration is created once the finished (mdx) app is uploaded to Citrix cloud and configuration is written for all given meta policy options.

 

Is there a way to provide the MDX configuration (file) for our app in development mode with XCode at runtime? Can this be done by another run script etc. This all happens before we finally upload the mdx compiled app to citrix cloud.

 

I will also try to switch implementation to the very new MAM_SDK_iOS_Beta_20.2.5.3. Is there already a sample available how to access the MDX shared vault with the MAM SDK?

 

Thank you!

Carsten

 

 

Hi Carsten,

 

Your earlier testing does indeed sound like the expected outcome when 'not' deploying an MDX wrapper, along with the policy meta-data that goes with it. If an app is built to contain the MDX SDK, then the app will contain those framework components which expect the corresponding policy meta-data to be found, to help configure the management of those app MDX SDK components.

 

Because MDX is proprietary to Citrix the use of Secure Hub is the 'only' way for MDX to become deployed. Secure Hub will 'only' install MDX apps which originate from the Secure Hub store itself (so that means MDX apps which have been uploaded to the management server console will work ok). Your later testing saw this deployment method be attempted, only for the app file itself (the ipa file inside of the MDX file) to not meet requirements of iOS. This is where the error was seen on the server console about no iTunes Store URL being found.

 

When using the MAM SDK, the concept of there being an MDX vault changes slightly. There is some existing documentation for the methods available for use with the MDX SDK, visible at https://docs.citrix.com/en-us/mdx-toolkit/developer-guide-overview/api-ios.html#shared-vault-example. I cannot find any similar content for the newer MAM SDK though. I expect that any new methods (assuming they are still available) will be quite similar to old methods. Once signed up for and using the tech preview of the MAM SDK, there is a channel of communication available directly with the product engineering team. They would be very able to fully answer any of the more intricate questions around this.

 

Best regards,
David

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...