Beta-testing a Mac App Store app
Asked Answered
S

2

16

I have an app that I'm going to put in the Mac App Store. I'd like to add iCloud support for preference syncing, and for that reason, I'd like to distribute the betas signed in such a way that they can access iCloud.

However, I haven't been able to find anything in the Mac documentation library about distributing an app, signed with a distribution key, outside of the App Store, and being able to access iCloud.

So far, my attempts to distribute such an application have met inability to launch on testers' machines, with messages in the Console complaining about the app having the iCloud entitlement.

Is what I'm after possible, or should I abandon iCloud support? If it is possible, what do I need to do to make a distributable, iCloud-capable build?

Edit: To be clear, you can replace “iCloud support” in this question with any other feature that is only available to App Store apps. I mention it to establish that the solution is not “just distribute it unsigned”. iCloud is the goal in my specific case; I'm asking about the general process.

Switchback answered 18/11, 2011 at 22:0 Comment(1)
Strictly speaking, the question isn't about iCloud support; I mention that only because the solution is not “just distribute it unsigned”. Any feature that a non-App-Store app could not have would result in the same question.Switchback
C
6

You would need to gather the UUID for the tester's mac, either available via Xcode's Organizer or you can also access it via Apple System Profiler under the hardware overview. After adding it to the developer portal you'd generate a provisioning profile.

In order for them to actually run the application they would need to make use of an iTunes Connect test user account. This is one of two types of accounts that you can create in iTunes Connect, the other being an account with privileges (financial/technical/etc) for your developer membership. The test user account is needed in order for a receipt to be generated and the application actually run. Though you might be able to sidestep the test user account requirement by not actually validating receipts at that phase of development.

If you want to do iCloud or Push you need the UUID. If you want to test a MAS app that doesn't need iCloud or Push, but does do receipt validation you need only the test user account.

Cassaba answered 19/11, 2011 at 7:9 Comment(4)
I was wondering if there are any updates on this topic? Also, would it be possible to create a test user/iCloud account on the home system to test - at least initially.Leomaleon
as far as i'm aware nothing has changed. The test user account is not a local account, its the same as an Apple ID with the exception that its not intended to be used with public apple services. and if you do use it with a public apple service it will cause it to not be a sandbox/test account anymore.Cassaba
Thanks Rudy, what about different Apple IDs on same device?Leomaleon
sure, you just login/logout in App Store.app when you need to switch between your real account (the one you purchase content with) and the test account (created at itunesconnect.apple.com)Cassaba
S
1

My iCloud Mac app is stil in development, so I didn't try yet. But isn't it possible to sign the app with an entitlement and add a test user to iTC. In the OS X provisioning portal you can already add devices, and you need to add the testers Macs there and re-create the provisioning profile afterwards. After build & archive you "Share..." the app as installer or .app. The user needs to login with the/his test user you created in iTC on her/his Mac.

Sit answered 19/11, 2011 at 6:2 Comment(3)
How would my testers (assuming they're not all programmers) get the UUID in order for me to enter into the Portal? Also: “The user needs to login with the/his test user you created in iTC on her/his Mac.” Could you elaborate on this, please?Switchback
You can get the UUID from the command line using system_profiler | grep 'Hardware UUID' or you (they) find it in the system overview. As soon as the user starts your app, he/she gets asked to log in.Sit
I created a small Apple Script that copies the devices UUID into a mail: gist.github.com/1385714. You can also save it as an application and send to your testers after you changed the mail address and added some text to the mail.Sit

© 2022 - 2024 — McMap. All rights reserved.