iDevice for Dummies: Can a device be assigned multiple provisions (Personal/Enterprise)? [closed] - xcode

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.
Closed 11 years ago.
Is it possible to assign multiple provisions to an iDevice? To be honest, I'm not sure if I'm using the correct terminology, but basically, I'm developing an iPad app for a company and I've only been testing it in the simulator because I don't have a registration to the developer program and they haven't setup their enterprise registration yet either. And I'm sure you all know how limited the simulator is...
I don't really care about the $99 it costs to join, but what I'm worried about is having my iDevices locked permanently to my personal registration and unable to switch back and forth to the enterprise registration.
I'd appreciate it if someone can explain to me how the registrations work. And keep in mind, I'm a dummy. :)
Thanks in advance!

You may provision your device with both the standard and enterprise programs, and install their individual provisioning profiles to build your app with. But you'll have to sign your app differently because the provisioning portal generates different app IDs for your app for each account.
If you'd like to test that provisioning profiles work correctly with different developer program accounts, you can duplicate your existing build configuration profile by Control-clicking your Xcode project, choosing Get Info, going to the Configurations tab and duplicating a configuration. Then sign one configuration against your standard provisioning profile, and sign the other against the enterprise provisioning profile (go to the Build tab and look under the Code Signing section). Once ready to test your app on your iPad, pick and build as necessary.

Yes. A device can have many different provisions installed from many different developers, either or both enterprise and personal (or occasionally special ones from Apple).
In summary, when you sign up for and are accepted into a paid iOS developer program, you can create and download 2 certificates, then you can download provisions (using those certificates and your device UDIDs and your app IDs), then Xcode, using those certificates and provisions, can build and sign apps that will run on any devices with those UDIDs and with those provisions installed.

Related

Developed an app on my personal individual developer account, what is the best way to release it on a new organization account?

I've been developing a Swift app for a while now on my own individual developer account linked to my longstanding everyday AppleId - so the AppleId also has all my bought music, apps, appleTV and other content etc etc. As I have developed the app I have realised that it has considerable commercial potential, and so would rather release it under an organization (a private limited company) than under my own individual name.
The app itself is relatively straightforward, it is self-contained other than having a single non-consumable in app purchase. I have not yet uploaded the app to AppStoreConnect, although I have set up the app name and the in app purchase on AppStoreConnect for testing purposes. I would like to release in the quickest way possible now. Using XCode 14.
What is the quickest, most straightforward and trouble-free way to achieve my goal? Should I:
Release it under my own individual developer account and then ask apple to change my individual account to an organization account? Are there any complications with this given that this dev account is attached to my personal AppleId? How long does it usually take Apple to achieve the change? Does the App remain on sale throughout? Are there ever any problems or is there anything else I should be aware of?
OR
Set up a totally fresh AppleId and create a new developer account for the organization on this id? (I appreciate this will cost extra money but am willing to bear the cost). If I do this, how do I transfer the app from my individual account to the organization account? Do I have to go through the Apple 'transfer an app' process? Are there any pitfalls with this? When the transfer is complete, how do I alter my XCode set up to continue working on the app under the new account? Also, as I have not yet submitted the app to AppStore (although I have set up the name / IAP ) can I simply use XCode to point the app at the new account and upload it to that instead without invoking the Apple 'transfer an app' process - how would I alter my set up on XCode to achieve this?
I am currently in the process of setting up the company, and should have necessary info eg DUNS no etc fairly shortly.
While I'm familiar with development itself and I've already released one paid app on the AppStore under my own individual account attached to my everyday AppleId, this seemed to be a relatively simple and automated procedure. My main difficulties with my current problem seem to stem from the fact that I have never worked as part of a swift development team, and I understand very little around the actual 'architecture' of app development, eg XCode signing / teams / bundle ids etc, and I'm really struggling to understand the technicalities of the connection between XCode / Developer Account / AppStore Connect / AppleID.
I've looked through other posts on this topic but most seem several years out of date, and I am aware that AppStore functionality in this area has changed over the years.
Any help would be greatly appreciated - particularly if you can recommend which route to go down and answer any of my specific points. I have tried asking Apple, but all I get back are standard replies directing me to their app transfer process - unfortunately though I'm something of a solo outfit and I really need the benefit of people's experience here, as I need this process to go quickly and smoothly!
Cheers!

Does Apple offer TestFlight beta testing for OS X?

TestFlight is a welcome change for iOS. It makes distributing beta versions painless for both the developer and the testers.
Does Apple support TestFlight for Mac OS as well? I've done quite a bit of searching and haven't found anything conclusive one way or the other.
We have an OS X app store app that turns out to have an install problem with Yosemite. We failed to do a first install test against Yosemite, so we missed the problem.
I developed a fix and would love to have some new users try it out. It's petty complex, difficult and disruptive to have current users delete the entire "container" directory and kill the preferences process in order to simulate a fresh install.
I also don't like the idea of distributing an unlocked version of our app. If that gets out, it could damage sales of the app store app.
I've done things like added an expiration date to a test app (weak protection) or created developer ID builds that will only run on machines from a specific list of MAC addresses. The last approach works, but it's tedious and painful to maintain, and requires that the tester give up uniquely identifiable information about their machines.
I'd really like the ability to create apps that will only run on beta tester's machines, like TestFlight does for iOS.
This is a developer question more than a code question. It isn't a great fit for SO, but I can't think of a better Stack Exchange site to post it. If anybody has a suggestion of a better site to post the question I'm happy to move it there.
This document at Apple Developer explains it.
It says you should register the testers' devices and generate a provisioning profile that includes them. Which means, theoretically, the app won't run on any device not in the list.
Here is the strange thing about it however: I have two Mac computers and I didn't register either of them with my provisioning profile (in fact the list of registered devices is empty right now), but I can run the exported app image on both easily. The app is sandboxed and signed, ready for App Store distribution, but nevertheless it runs on unregistered computers. It might be that with an empty device list it allows to run on any, or it might be that I'm doing something wrong with code signing.
I will update the answer once I figure this out.
Good news for everyone (including me) waiting for TestFlight for Mac - it just got announced on WWDC21.
Unfortunately, it might take another few months until it is out of beta and publicly available for everyone. But since this question is almost more than 6 years old, its just a fraction!
I"ll update the answer if there are more details available
Update
TestFlight on Mac will be available to download on the Mac App Store. It will be similar to the iOS version of TestFlight offering almost the same functionality to both developers and testers.
It supports both native Mac apps and iOS apps on Apple Silicon!
It is now available.
TestFlight is not available for Mac apps.
source: https://testflight.apple.com/
😕

Good Dynamics: How can a third party create an IPA consumable by the Good Wrapping server?

We are an independent third party software developer. Our software is currently approved by Apple, and available for download from AppStore. Now we have a potential customer who has Good Dynamics setup (http://www.good.com) (with Good Wrapper, Control, Proxy servers etc.), and we're trying to figure out how our IPA can be made consumable with their Good Wrapper server. Reading the Good Dynamics' Guide to Application Wrapping, it's a little confusing. It states that we "need a ready-to-wrap iOS app (.ipa) build for enterprise or ad hoc distribution. Ready-to-wrap means a working iOS app with a valid signing certificate.".
There are two possible interpretations of this description:
1) We (the independent third party software developer) create a certificate for this potential customer, create an ad hoc provisioning profile with this certificate, create an IPA, and give them this certificate and this IPA. They can feed these to their Good Wrapper server, which will wrap the application.
2) They (the potential customer with a Good Dynamics setup) need to have an Enterprise distribution account (to enable them to distribute applications within their enterprise employees). They need to have a certificate and provisioning profile for this enterprise distribution account. They will provide us with this certificate and profile, and we will compile and create an IPA with this provisioning profile. This IPA will then be handed over to them, and can be fed to their Good Wrapper server.
Which one of the above flows is correct?
Thanks & regards,
The second flow is the correct one. Application wrapping is mostly intended for in-house developers. Just be aware that your particular scenario, where the customer provides you with their certificate, might not be Apple approved.

iTunes Connect : why isn't my distribution profile "managed by Xcode"?

I'm stuck with this damn "Application failed codesign verification" warning that I simply can't solve... I'm about to submit my app to Apple. :(
Having a look to my provisioning profiles made me realize that the status of my development profile is "Active, managed by Xcode" whereas my distribution profile is only "Active". It may be the reason of this problem because anything else seems to be OK. So what is wrong here ?
Thanks a lot for your advices.
Having a look to my provisioning profiles made me realize that the
status of my development profile is "Active, managed by Xcode" whereas
my distribution profile is only "Active".
The team development profile includes certificates for all the developers on your team and device ID's for all your devices. Since only one person is authorized to distribute applications for any given account, and since there are no device ID's associated with the distribution provision, there's no need to have Xcode or the provisioning portal manage your distribution provision -- there'd be very little to manage.
It may be the reason of this problem because anything else seems to be
OK. So what is wrong here?
No, difference in the description of your development and distribution profiles isn't the problem. The problem is that the codesign utility was, for some reason, unable to sign your application. There are several things that can prevent your app from being signed, such as:
Wrong distribution profile selected in your project's build settings.
App ID in distribution profile doesn't match that of the app you're trying to sign.
Problem with distribution profile, e.g. an expired certificate.
There are also a great many questions right here on SO pertaining to signing your app for distribution. It doesn't make sense to rehash all those answers here, especially without more information about what you've already checked or at least seeing the specific error. Take a look at some of those questions first and see if something rings a bell. Otherwise, take a look at the Troubleshooting section of the Tools Workflow Guide.

One Provisioning Profile for multiple apps?

I am really confused with ios provisioning profile. Can I use one Development Provisioning Profile for multiple apps? Same question for Distribution Provisioning Profile.
thanks for your help.
Yes, you can use the same certificates for multiple apps.
It may seem complicated, but once you look at it, it's not so bad. Here's the breakdown:
The development provisioning profile gives you the opportunity to test apps you create (any) until you try to push it to Apple. When you do that, the distribution profile comes into play. Essentially, it connects any apps you produce with your App Store storefront.

Resources