iTunes connect spamming error emails to users - ios

Every time we upload an app with an issue (missing entitlement, privacy string missing from the project's .plist), iTunes connect emails the error to every single one of the tester emails in our list, even if they're not registered to test for the application I am uploading.
Currently I am the only person in the list for this application, and yet it's sending the email to everyone testing an unrelated app.
How do I turn this ridiculous behavior off and stop annoying them?

This is not a bug. It is a 'feature' of PEBKAB.
The issue was another developer had quietly added the users to itunes connect as internal testers on a separate project. They had all been given a 'developer' role, and when I created the app, they were automatically put on the developer email list for that one, too.
A quick diddle of the users and roles table fixed it all up, no trip to Apple Support required.

Unfortunately this is just how iTunes Connect works. I have reached Apple complaining about this, their answer was that I should use External TestFlight distributions.
Honestly I really recommend you to use other beta distribution platform like beta by Fabric, the build process is using ad-hoc builds, in our team we use beta by Fabric for small builds then once we are almost ready to push to the AppStore we run a small test by using the final build in TestFlight.
I'm not saying Testflight External distributions are bad but is not the right tool for a daily workflow some times you can't afford waste 3 to 6 hours waiting for apple to approve your new build.

Related

Exporting Xcode app for individuals to download over web server

I have an Xcode app that I have just finished developing. I do not wish to put this app on the App Store. Instead I would like to build the app and then serve it over my local host, so anyone connected to the URL on my network can simply download the app and use it.
How exactly can I achieve this?
One issue I am running into when selecting the organizer after archiving is that the buttons for export is grayed out. I am signing as my (personal team) but it does not seem to cooperate. How can I do this?
You have a few options here:
Enterprise developer account
Additional cost and can't upload to AppStore, users when installing for the first time have to trust the developer before the app will run
Ad Hoc profile
Requires adding UDIDs for all of the devices that you want to be able to run. Profiles will eventually expire (12 months I think). Would usually use this option with a service like HockeyApp/Diawi
Testflight
If you use internal testers then limited to 100 users that have to be invited to the Apple developer tea. If using external testers then can have much higher number of users, but app has to go through a short review process similar to when submitting for review to the app store

Can I send a build to TestFlight without AppStore validation?

I'm currently sending builds with the iTunes Connect, but it always run a AppStore validation of the application.
I feel like I'm doing something wrong because the app is raw and it's meant only for testers yet and I don't want the apple team (or, hopefully, robots) to process it every time for me.
Is it the "iTunes Connect -> TestFlight" chain a primary way to distribute the builds for testers?
In order for the app to be distributed to your testers - even Internal testers - it has to be installed on the device via TestFlight.
During the process of uploading to iTC, the app must pass at a minimum the necessary structure to enable it to be installed and run.
The "Apple Team" doesn't look at it unless you submit it for External testers, but the automated process will make sure you're uploading an actual app, not submitting a plain textfile (yeah, silly example, but you get the idea).
Yes TestFlight is the recommended way by Apple to distribute your beta application to testers.
However, there are alternative ways to send your application to beta reviewers, such as Fabric and HockeyApp.

Test Flight Internal Testing Issue

I am experiencing some issues with TestFlight and I am fairly new with iOS development so I am certain I must be missing something extremely small and frustrating.
We have our personal Apple IDs on our devices to test, and we sign into iTunes Connect with our work email/Apple ID (of which we were added to an organisation).
When I upload a new build and I want to get internal testers on it (take note it is only myself and another co-worker), only I get the TestFlight notification and email and not my co-worker. No notification, no email.
The strange part is that both of us are able to sign into iTunes Connect with our work email/Apple ID. And both of us are able to see and change details on the iTunes Connect Store.
I have tried removing him from the internal testing team and re-adding him, only for the status to show "Notified" but he does not get a notification or an email.
I have also removed TestFlight and re-installed it, and once in the application, the only available version to download is an older version (roughly a week old) and can not update the version to the latest build.
Everything was working one week ago. Any clues or advice on what to check or look out for?
Thanks to all in advance for all the help and information provided.
Make sure you have verified both your work and personal accounts. Apple has weird issues with this sometimes. You will also need to verify your account details again each time you add a new email address :)

Testflight - continue testing after 30 days?

We are looking at running a test campaign for our iOS mobile app with a few hundreds users, using TestFlight.
(We cannot use an Apple Enterprise account)
The test will last 50 days and there is a 30-day limitation for test flight builds.
the documentation says:
To continue testing after the 30-day period expires, upload another
build. Internal testers automatically receive an update notification
when the new build is available. To distribute the new build to
external testers, you resubmit it to Beta App Review. As soon as it is
approved, you can send the external testers an update email by
clicking Send Invites from the External Testers column on Builds,
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/BetaTestingTheApp.html
So, in theory, we could test version 0.9.0 for a month, then build and distribute 0.9.1 and have people update (yes a little clunky).
The question is does it really work and what happens to local app data when updating? things like coreData and NSUserDefault?
It would be great to have some sort of absolute confirmation than those are fine.
I cannot fully test that because update behaviour might be different before and after passing that 30 days limit.
Thanks in advance.
Yes, posting two version works. The app data should not be affected. Make sure your testers are aware of this limitation and do update before the deadline.
Note, If you update the build number instead of the version, Testflight groups it together and automatically sends the update. When you change the version you have to log in to iTunes Connect and enable Testflight on the new version.
If you want to skip the 30 day limit, you can use other services for distribution, such as Fabric's Beta. This requires registering each device though, and you're limited to 100 devices on the developer portal. If you need more, you could create multiple developer accounts. There shouldn't be a fee anymore if you're just testing on a device.
And your app data will not be affected by the update (unless you make a change to your app). I have done this (hit 30 day limit and then sent update) before without any problems.

Is there a one step method of activating beta testers on iOS using Fabric?

We're using Fabric (Crashlytics) to get our app to beta testers. This is not a utility app, so any friction in the beta distribution/acceptance process is unhelpful.
The process today is:
(1) send an invite
(2) the user accepts the invite, which sends their UUID. You don't get to experience the app at this stage.
(3) another build is created with additional UUIDs etc
(4) the users get a new release emai), which they install, and get to use the app.
Many days can pass between (1) and (4). It takes many reminders to get some folks (understandably busy) to click the second invite ("didn't I do this already?").
Is there a better way? Without an App Store approval process?
Related question, but not satisfying answers: Add more beta testers for the app through crashlytics beta
The only other option is an Enterprise account from Apple, which will let you create an In House provisioning profile which lets people run your app without having to add the UUID. However, there are limitations. Apple's Enterprise Dev Program homepage.

Resources