TestFlight does not accept my release-IPA for FlightPath. Reason for concern? - iphone

So I did what many suggested and kept TestFlight SDK in the release build to be prepared when FlightPath finally launches.
However: After following TestFlight's instructions for the predecessor called "TestFlight Live", TestFlight refuses to accept my App Store IPA (continue reading) and gives this message:
Invalid IPA: The keychain-access-group in the embedded.mobileprovision
and your binary don't match.
I did what they said:
1) Made a release build and submitted to the App Store, with TestFlight SDK and checkpoint calls included, but -setDeviceIdentifier: call removed.
2) From Xcode Organizer window: Selected the submitted archive, clicked "Distribute" to re-structure it as a TestFlight-compatible binary, signed for AdHoc distribution over TestFlight.
Apparently this binary is garbage for TestFlight which lefts me wondering: How am I supposed to ever get to the analytics data once FlightPath arrives? Am I better off rejecting my submission and stripping out all the useless TestFlight SDK code or can this be fixed?

You don't have to upload the app store build of your app for it to work with flight path. As long as you have uploaded or created an app that has the same bundle id and app token the app will appear in flightpath without you having to upload.
Make sure you have the correct app token that matches your bundle id!

Related

Yet another ERROR ITMS-90161: "Invalid Provisioning Profile"

Over the past couple of days I've worked my way through all the prior posts on here that I could find that seemed to be related (many of them appear to be horrifically out of date and less than useful now), as well as the Apple Troubleshooting and Maintaining Your Signing Identities and Certificate guides (not to mention the usual Internet searches).
The app in question was deploying fine until the latest XCode update, but now fails to upload (build is successful obviously, and there have been code changes as well):
ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle *content removed* is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
It's not the first time I've mysteriously had a failure like this, but in prior cases simply revoking the certs, removing the profile, then rebuilding would take care of it. Not so in this case.
The provisioning profile is confirmed to be the correct type, and the code signing certificate sure looks like it's in there... Certificate gets a nice green checkmark too. Any new suggestions not covered in the usual places?
It turns out that there's nothing wrong with the certificate itself, but it's the upload process which needs to be done different.
In the past I had been deploying the distribution outputs from Cordova CLI via the Application Loader. The App store no longer accepts my builds when done that way.
With the current version of XCode, I need to use the GUI now and set the build target to "Generic iOS Device" and then do an "Archive" operation. The archive will upload the app through a different loader, which the App store will accept.

Uploading to the Appstore

Finally, I have completed my first application successfully, but I had two issues since last night while uploading.
Appnametests.octest is in redcolor.
right clicking on .app and 'show in finder' is redirecting to debug-iphoneos folder. which, when compressed and uploading with 'Application Loader', is giving an error 'Application failed codesign verification. The signature was invalid, or it was not signed with an iPhone Distribution Certificate.'
When I was playing around, I went to the 'Release-iPhoneos' folder, compressed the .app file, and uploaded and suddenly the file has been uploaded.
My question is,
Did I do anything wrong?
Is there a chance that my application could get rejected?
First of all relax. Appstore uploading is not that difficult. It's confusing process when you do first time. It's important you follow all the steps correctly. However, you can anytime go and re-upload the binary on iTunes Connect.
It's better to upload your app from Xcode. Assuming you used XCode to upload your app.
Before you are ready to upload the app on app store. You have to select your distribution certificate in your app settings. This " 'Application failed codesign
verification. The signature was invalid, or it was not signed with an iPhone Distribution Certificate." error indicates that you had not selected the distribution profile. I'd suggest you to reconfirm this. You can check this to create distribution certificate.
Once this is done you have to make your app status on iTunes connect as "Ready To Upload".
Then you go ahead and distribute you app. Which gets submitted to app store for review.
When your binary is successfully uploaded your app status change to "Waiting For Review"
1.Did I do anything wrong? - If you have missed any of above step you might have made some mistake.
2.Is there a chance that my application could get rejected? - If you have made any mistakes that means your binary isn't uploaded properly. So this is irrelevant.
If you feel there's something wrong then instead of waiting for next seven days and app telling you we didn't receive your binary. Just delete the correct binary if necessary follow the steps given here

How to sign app for AppStore in my customer's name

If I'm developing an iPhone app for CompanyX and when we want to put it on the App Store using CompanyX's signature, and if they dont have the source code, can they do it themselves?
Or do I have to do it with their signature, since I have the source code and then submit it to the App Store?
We have settled on a process where "CompanyX" gives us an account to their iTunes connect so we can build, sign and upload to the App Store in their name.
Probably you can build it on your machine, send them the product and they sign and upload it themselves, however that would be more tedious, as Apple's toolchain with Xcode and the Organizer has become quite good at this for the "usual" case of someone uploading their "own" apps.
AFAIK you have to sign the source code with the key you get from Apple to submit it.

Test the app that I send to AppStore

I send a new version of my iPad app to AppStore. The Apple will now validate it.
But, I want to have absolute certainty that NOTHING gone wrong. I have the Archived file and want to run it.
Ok, I can build a new program and run it in the device. But I want to test the exact file that I sent.
I tried to create a .ipa file but it give-me problem with "code signed". Run the file in simulator is a good idea. So, there are a easy way to run my new version?
You cannot install on our own device an app you build and is signed with your distribution certificate. Put another way, the build you submit to Apple cannot be directly installed by you on your device.
If you build any other way such that you can install that build on your device, it's the same code as you would otherwise be sending to Apple in a distribution build.
I have had the same desire, actually. I have an app with a conditional build setting based on whether it's a distribution build or not. For a distribution build, we have a production API URL, but for all other builds the URL is a development sandbox URL. So, I know how you feel! I wanted to be able to test the actual build sent to Apple to make sure it was hitting the correct production URL. I couldn't. I had to trust. :-)
I'll assume you're using Xcode 4; details will be different if you're using Xcode 3.
Once you've created an application archive, you can select the archive in the Organizer and click the Share... button to e-mail it to yourself and/or your testers. Xcode will let you sign it with your developer key, so you can install it on your device. When you're satisfied with the app, you can then validate and submit the app to the app store, again from the Organizer window. You'll re-sign the app with your distribution key and the application will be uploaded to iTunesConnect.
Just make sure your project and your target Build settings are absolutely 100% identical between your final Release build and your Distribution build, except for code-signing. Then do a clean build of both, one after the other, and QA the final Release build before submitting the Distribution archive.
After Apple approves the app, delete the app from one of your devices, and buy your app from the App store. That's the only way to get an exact customer download with the full customer experience. You'll get back 70% of the purchase price in a couple months; the other 30% is likely a very small part of your total development and testing cost.

Submitting AddHoc iPhone App Binaries to Apple App Store

Hey I have taken over from a developer who submitted Add Hoc Build Binaries to the app store instead of creating a new binary with an app store development provisioning profile.
Can anyone tell me what will happen to these apps?
So far they they are fine, approved and selling with the added benefit that we are able to test the actual binary we upload to itunes connect, which if you compile using an app store only provisioning profile, you can't.
Am I missing something here? Why do apple instruct us to use an app store only provisioning profile, when add hoc ones work fine?
I question the assertion that an ad hoc build was submitted. I've done this myself by accident, and it gets rejected at the upload stage.
we are able to test the actual binary we upload to itunes connect
Have you tried this yourself and seen it work? Even if it were to work once, I wouldn't make decisions on the assumption that it will continue to work in the future.