2

When you create an iPhone/iPad version of an app, and also an OS X version of that same app, you would presumably want to have all the different devices share document or key-value data over iCloud. This can be easily accomplished by putting the same bundle identifier in the iCloud entitlements for all apps. This being the case, why would I ever want to use iCloud Display Sets.

I have seen this question asked here before, but in my opinion they were not properly answered. This question asked the same question, but the answer just confirmed that display sets are for allowing multiple apps to access the same iCloud store. We can already do that without display sets.

Does anyone know if there is a difference or a benifit in doing it through display sets, or if it is just an alternative method?

Community
  • 1
  • 1
hvanbrug
  • 1,291
  • 2
  • 12
  • 25

1 Answers1

1

From the docs (emphasis mine):

If you create multiple apps, you can use the same display set for your apps or assign different display sets to each. For example, if you create a lite version of your app, in addition to a full-featured version, you might use the same display set for both versions because they create and use the same basic data files. Each app should recognize the file types stored in its mobile data folder and be able to open them.

If you had "lite" and "full" versions that both ran on iOS, they could not use the same bundle ID, so keeping the same bundle ID is not a viable strategy there. This would apply to any situation in which there were multiple versions of the same app available on the same platform.

Tom Harrington
  • 69,312
  • 10
  • 146
  • 170
  • 1
    Yes, but you do not have to use the bundle ID of your project in your iCloud entitlement settings. Case in point, I have an iPhone app with bundle id `com.xxxxx.yyy` and an OSX app with bundle id `com.xxxxx.yyyOSX`. In the iCloud entitlements for the iPhone app I put it's own bundle ID. In the iCloud entitlements for the OSX app I put the iPhone app's bundle id. So both apps iCloud entitlements are set to `com.xxxxx.yyy`. In other words, the iCloud entitlements bundle id do not have to be the same as the app's bundle id. I have this working. The same logic applies to Lite vs. Full. – hvanbrug Jun 05 '13 at 16:41
  • Maybe I did not read your answer correctly. Are you sure that if both apps are on IOS then they are not able to have the same bundle ID in icloud settings? would this also be true for two osx apps? I am noticing that the main difference between what I am doing and what you are saying is that my apps are not both on the same platform. I will test this out right now. :) – hvanbrug Jun 06 '13 at 09:43
  • I just added another target to my OSX project with a bundle ID of `com.xxxxx.yyyLiteOSX`, and setup it's iCloud to `com.xxxxx.yyy`. They are both running on my desktop at the same time, and when I make changes in one that get pushed to iCloud, the other sees those changes, so at least for OSX apps I don't need display sets. I will try an IOS app now to see if it is limited to IOS. – hvanbrug Jun 06 '13 at 10:18
  • ok. I did the same thing with my IOS app. I made a target 'lite' version with bundleId `com.xxxxx.yyyLite` and once again, configured it's iCloud to `com.xxxxx.yyy`. When I ran the main app on my phone and the 'lite' app on my ipad, making changes on one were propegated to the other. So, although the intent of Display Sets is to give this functionality, I don't need it because I already have this functionality. :) – hvanbrug Jun 06 '13 at 10:42
  • +1 though for making me explore this further than I had though. Thanks. – hvanbrug Jun 06 '13 at 10:44