Getting an iOS app fix verified by a customer prior to general release - ios

When contacted by a customer who is experiencing a problem in your iOS app and making an update to fix it, is there a way to get the user to verify the fix privately before making the update available to everyone?
Background: I was contacted by a user who is seeing a weird rendering problem since installing the latest update. Unfortunately I have not been able to reproduce the problem -- the customer uses an old iPhone model that I don't have access to, and I've had no luck reproducing it with the same iOS version in the simulator. However I made an update that I have good reasons to believe will fix it (I undid the small changes to the rendering code that were in the last update and did an alternative implementation that completely bypasses the issue, if my guess of what the issue is about is correct). But I obviously don't have 100% confidence that it will fix the bug since I can't repro it.
So I've submitted the update to iTunesConnect and have asked the user to wait until Apple has approved it. If it turns out that the change doesn't fix this issue, it would all be such a waste for the customer (who will have waited for nothing), for all my other users (who will see an update for nothing) and for Apple (who will have reviewed an update for nothing).

This is what ad-hoc deployment is for - testing. You can manually deploy a build to the customer (you need to know his devices UDID) or you can use a service like TestFlight (free) which helps to automate and manage the ad-hoc process.

Related

iTunes Connect won't let me create a new version of an existing App

When I try to add a new iOS version of an existing App on iTunes Connect, I get the following error: "Your changes couldn't be saved. Try again. If the problem persists, contact us." I've tried lots of various Store Version Numbers, so that doesn't seem to be the problem.
I can create a tvOS update without a problem, but that still doesn't help with the iOS one.
This has happened on two of my apps that I'd like to update. The problem started a little before the itunesconnect.com downtime around April 22 (which I thought might be causing it).
Anyone run into something similar or know a workaround?
Apple fixed the problem after I submitted a itunesconnect support request. It had to be escalated to the dev group, so it took about a week.
Everything is working now. They didn't say, but my guess is that it was related to trying to create a new build while they were starting maintenance on the server.
I had same problem and resolved it by logging in with different user and saving new version worked.

iOS Receipt validation failing for long-term users

With our latest release, we converted our app from paid to in-app subscription purchase. We promised our current users that we would grandfather them into the subscription because they already paid for the app. In our code, we look for a valid receipt with an original application version prior to our first subscription version. It all worked great in our tests.
When we released the new app, we started getting feedback from our long-term users that they were being asked to subscribe (they shouldn't even see the subscribe button). As we researched the issue, we noticed that all of these users purchased our app prior to the app being transferred to a new developer in September of 2014.
Recreating this issue is difficult - how do we simulate an app install in 2014? I may be able to login as one of the affected users, which would involve using their Apple credentials. I'm not very comfortable asking users to share their credentials.
Since I haven't been able to recreate it and our code is pretty simple, my best guess as to what is happening is that we aren't receiving a valid receipt for users that purchased prior to the app transfer in 2014.
So, I have a few questions:
Has anyone else experienced this?
If so, how have you resolved it?
How would you troubleshoot it?
FYI - I've filed an issue with Apple (3045378).
In speaking with Apple Developer Technical Support, we discovered a way to pull the NSLog messages off of the devices using the recently released Unified Logging feature. A couple of our users submit their logs, which clearly showed that they were getting valid receipts, but the originally purchased versions of those receipts are 4 and 2.8.
Given that our current version is 1.7.1, these are strange and non-typical numbers. However, the Original Application Version reported from the receipt is actually the CFBundleVersion (or Build), which can be a completely different string than the App Version reported in the App Store.
I assume that the developer prior to the app transfer was using a different build numbering system than the standard ... scheme.
I refined the version check within my code and re-submitted the app. It was released today, and, so far, all are being grandfathered correctly.

What is the UX when I add additional builds to an existing external beta test in iTunesConnect

I currently have an app on iTunesConnect with a few hundred external beta testers using it. Important to note, we will have 2000 testers by the end of the month. I want to push new builds to this app- and this, I know how to do.
What I don't know is, what is the expected behavior for my beta users when I add a new build?
Our company cares a lot about user experience, and we don't want to have our current testers of our current build open the version that they've already installed, only to see it crash because I added a new build that i'm hoping will just update their current version automatically.
Apple does a good job of making a developer think this might happen. I've searched everywhere to find this answer in the docs- please help! After selecting a newly approved build to switch to in the External Testing portal, upon selecting Save, this alert appears:
(405 is the first build, 407 is the new build)
So, what happens when I save this- will users be notified that they need to update the app?
Will the "update" happen automatically for them if they've already installed the first build?
If they open the already installed version, will it simply crash?
If so, what can I do to prevent this from happening?
My team will likely want to send out 1-2 builds / week (of the same app, with fixes and improvements) to the same group of testers until we're ready to officially launch the app. I'd hate to think this would crash the app on them every time. As far as I know, there is no way for me to test this before performing this action- I'm already added as an Internal Tester, but that's a completely different UX in TestFlight (builds are made available to internal testers immediately after uploading)
If you think this has been asked already:
This is not a duplicate of this question- because I haven't attempted to send out the build yet. I want to make sure that linked issue does not happen to my testers!
My question is unlike this one where the user did not know how to properly increase his build number, unlike this one, referring to testing a new build of an app that already has a version in the app store, unlike this one which refers to a bug in the app store where a user couldn't initiate an external test after uploading a build, and unlike this one where the user just didn't know how the iTunesConnect portal works.

Corona "Certificate Not Installed" even though it is

I realize this question comes up a lot, but there is no one solution that has seemed to work for anyone.
I am working on developing an app for iOS and recently had to transfer my app to another developer account. My first account was an individual account where I was "Agent," and now the new account (corporate I think) has me listed as "Agent."
I created the certificates like I have always done, downloaded them, and placed them in my keychain. Everything said it was in order. I then created the app ID and re-entered all of the devices into the devices column. I moved on to the provisioning profiles, and again everything worked well. I downloaded them and imported them into Xcode, and when I go under settings and look under the account, it all looks in order.
Then when I attempt to build in corona, it tells me "Certificate Not Installed." Even though I had created the certificate on that device.
A possibility is that having 2 apple dev accounts signed in at once was confusing, so I logged out of my other, and, not surprisingly lost my ability to build for those either. I could still not build for iOS.
I have tried restarting my computer several times, and deleting everything and starting from scratch. I have tried creating the certificates a variety of ways and billions of combinations. I even tried using my other computer - although it also had dev set up for my other account.
Am I missing something crucial here? I don't have another computer to start over on if that is what it takes, but I guess I could clear one...
I greatly appreciate any suggestions!!
More specifically, for Starter and Basic subscribers, on OS-X you will need to download a new latest public build (2014.2393a). For Pro and Enterprise subscribers, you will need 2014.2405 or later.
Starter and Basic subscribers may have to add something to their build.settings for now due to another change Apple instituted this week. See: http://coronalabs.com/blog/2014/08/21/ios-building-issue
After some more hours of digging, I finally found a solution. Apparently apple changed some things in their newest releases, specific to their provisioning profiles and something in Xcode.
Corona Forums had this thread that solved ALL of my problems: http://forums.coronalabs.com/topic/50226-certificate-not-installed-cant-build-for-ios/page-2#entry260678
To summarize the forum - you need to install a new build of corona that solves the problem: https://developer.coronalabs.com/downloads/coronasdk
I hope my struggles have helped someone :)

iOS MDM - App com.xxx.xxxx is already scheduled for management

I'm setting up an MDM installation to distribute apps to supervised devices and seem to regularly get the managed application into a weird state where it's "scheduled for management" but doesn't actually install to the device. It's unclear to me how it gets into that state or how to get it out of that state.
I tried to use the RemoveApplication command, but since it never actually installed, this failed to remove it. I was able to get it out of this state by turning the device off and letting it forget it's volatile memory and then turning it back on, but this is an unacceptable solution for the use case I'm trying to achieve. It also doesn't seem to always fix the issue.
I attempted to use a support ticket with Apple to resolve this, but they basically told me that the problem we're experiencing should be submitted as a bug report, so we submitted that to them.
Basically, I'm just wondering if anyone else has experienced this issue and if you have, do you know of any workarounds to get it out of this state?
Thanks!

Resources