Missing code sign certificate when trying to deploy app to new TestFlight - ios

We've been developing an app based on Appcelerator Titanium the last couple of months and to deploy the app to our testers, we've used TestFlight. Now, Apple have shut down the "old" TestFlight and integrated it into ItunesConnect.
Now we want to deploy an update to our testers. So we created a new app within Itunes Connect with the same app bundle as the app bundle the provisioning profile we're building the app with are using. We build an IPA file which we try to deploy using Apples tool "Application Loader".
When we try to deploy the app, we get the following error:
ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle nu.kodfabriken.ourapp [Payload/OurApp.app]" is invalid. [Missing code-signing certificate.] For more information, visit the iOS Developer Portal"
Some Googling and trial-and-error told us to recreate our certificates and provisioning profiles. So we did, and got the same result. We don't know what to do here. Feels like we are stuck, with no clue what to do.
Worth noting is that when Apple switched to "new TestFlight" we didn't change anything at first. We used the very same provisioning profiles as we used with old TestFlight, which worked.
What are we doing wrong? Is this somehow related to how Titanium packages the apps (as far as I know, it's actually Xcode which creates the final build)?

Related

Not getting untrusted developer prompt with Apple Enterprise with MAUI

I'm signing an app using an Apple Enterprise certificate and an in-house provisioning profile. I've added the IPA, along with the manifest.plist, to an HTTPS page and I can install the icon at least, with the itms-services://?action=download-manifest&url= link. If I view the device with the Apple Configurator app I can verify the provisioning profile was installed on the device.
BUT: when I try to open the app I don't get the expected message Untrusted Enterprise Developer and I don't see the option to trust the profile in Settings > General > Device Management. Instead I get a message This app cannot be installed because its integrity could not be verified. I see the same message in console logs as well as "A valid provisioning profile for this executable was not found".
This is a MAUI app but I'm getting the same problem if I create an app in Xamarin with the same app id. HOWEVER: if I create an app with the same app id in Xcode it works fine. All three are using the same manifest.plist, app id, version, build number, etc.
It's got to be a certificate issue, right? But I've checked a million times to make sure dotnet publish is using the correct cert. I've un-zipped the IPA after it's built and verified the correct provisioning profile was added. I've re-signed with Xcode and tried using that IPA. I'm not sure what else to try and I don't know why it works with an Xcode project but not Xamarin / MAUI.
Anyone have any ideas?
After much trial and error I was able to solve this by building using the command line only and not putting any of the Codesign information in a PropertyGroup in the .csproj. According to the documentation this shouldn't be necessary but it's working for me now.
My full build command is:
dotnet publish -f:net7.0-ios -c:Release /p:RuntimeIdentifier=ios-arm64 /p:ArchiveOnBuild=true /p:CodeSignProvision="your provisioning profile name" /p:CodesignKey="Your distribution certificate name”

Xcode 11 Archiving to Generic iOS Device errors relating to registering bundle identifier and iOS App Dev provisional profiles matching my app id

As the title says, I'm on Xcode 11 and trying to archive to a generic iOS device to add a new version of the app to TestFlight. It builds fine on all simulators. I don't believe I can change the bundle identifier as I'm adding an update to an app that's already on TestFlight. See below for archive errors.
Errors:
"Failed to register bundle identifier. The app identifier "com.'myappnameishere'" cannot be registered to your development team because it is not available. Change your bundle identifier to a unique string and try again."
No profiles for 'com.myappnameishere' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.myappnameishere'
What I've done:
A. Gotten an Apple Developer Account and registered my devices
B. Cleared the local Provisional Profiles using this method:
Xcode Error: "The app ID cannot be registered to your development team."
Apologies if this has already been posted but I couldn't find anything. Any help would be appreciated!
If the app is already on TestFlight, you cannot just use any apple developer id, you need to be logged in with the same apple dev account which was used to upload the app to TestFlight before
To archive, and upload an update to the app, you will also need the following installed in your machine
app store provisioning profile for the bundle id
certificate assigned to the app store profile
private key for the certificate's
(or you need to create these artefacts, and install / download them on your machine)
It is not clear if you already meet these criteria.
EDIT: answers to questions in your comment -
You may also face issues running the app on the device if you do not have developer profile for the bundle id, but with free provisioning / wildcard profile, you can circumvent this, and not need access to the specific dev account.
You can create and export archive (generate ipa file) ready for testflight using those artefacts, but to upload the ipa to testflight using any method, you will need credentials for the specific dev account. Alternatively, you can generate the ipa and share it with someone who has access and can upload the ipa.

Missing Beta Entitlement iTunes Connect "error" - Xamarin Forms PCL

I have a problem, I have the same project in Xamarin on visual studio 2017.
When I deploy transmission certificates and load it all on itunes connect through Application Loader.
The problem is that, with one of the two applications (
I change the certificate every time I release an app or another.), I can not make the release for beta testers.
As you can see in the image below:
With the first App all goes well, but when the second load gives me the error that you see when you try to release it with testflight: Missing Beta Entitlement.
I looked online and I tried to put in info.plist file the following string:
<key>beta-reports-active</key> <true/>
But without success. Can anyone advise me how to solve? Thank you.
I uploaded to connect itunes version 1.13 but I get the same problem.
What I recommend here is to clean/clear your provisioning profile from Apple Developer Website.
Are you letting Xcode manage code signing identity ?
If so then it will create provisioning profile for you when you will be building for Release.
Indeed, it happens to me, it was a terrible mess in my configuration on Apple Developer.
I just removed everything, provisioning profile, create 1 Development and 1 Production certificate.
Then when you build for Release, Xcode will create provisioning profile for you, it starts with "XC".
Your issue is
likely a different provisioning profile from the Ad Hoc Distribution
Provisioning Profile you were probably using to sign TestFlight builds
TBH changing certificate evertytime you release an app or an other might also create a mess in Xcode configuration.
Helpful Post Here

No .app bundle found in the package, while uploading with Application Loader

I know there are already several questions on the subject, but I am really desperate. I don't know what else to do than to look for an advice here.
So, I have an app ready to be uploaded.
I have checked all the pre-steps, before trying to upload:
Bundle ID matches in info.plist, iTunesConnect, Apple developer, Provisioning profile
Game works perfectly when I run it on the device, in app purchase works with a test user, and not a single issue appears
Here are some screenshots with some info:
What I have noticed is that there isn't any Provisioning Profile selected:
Yet, when I select the provisioning profile I made earlier, I get this error. When I clock "Fix" it changes it back to none provisioning profile selected.
I don't know if that's the cause of the trouble
All in all, this is the Error I get:
This is my first time that I'm uploading an app with in app purchase. So I might missed some obvious step. I really hope that somebody will see the problem here, because I've been trying to fight this for 2 days now :(
When you see "iPhone Developer" in the code signing identity, that means Xcode will automatically select a matching identity to sign the app (It doesn't mean that no profile is selected).
From what I can see it looks like "iPhone Developer" is chosen for both Debug and Release configurations which will likely cause a problem because you cannot submit a Developer signed app to the App Store, it must be signed with a Distribution certificate and Distribution profile.
You will need to ensure that you have created a Distribution Certificate and profile to sign your app with before archiving it and submitting it via Xcode.
I would recommend you read up on how app store distribution works from the Apple documentation here:
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html
Then if you still are having trouble, read the trouble shooting guide from the docs here:
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Troubleshooting/Troubleshooting.html
I have had a similar problem. We received an APP from an external provider and re-signed the APP ourselves using our own certificate and provisioning profile. When uploading the APP with Application Loader I received the error ITMS-90167: No .app bundles found in the package.
I have sierra installed on my Mac and I am using XCode 8.0 but had an old version of Application Loader (3.0) that was installed separately. Using this version of Application Loader I got the message. If I instead used the Application Loader that is part of Xcode (from the XCode/Open Developer Tool menu), ie version 3.6 everything worked out great and the ipa file was successfully uploaded to ITunesConnect.

Testflight complains about developer certificate being used to sign the app

Suddenly I started getting this from Testflight when uploading a new build of an app:
This build is signed with a Developer certificate, it can only be installed by devices with the Developer feature enabled. We recommend signing with a distribution provisioning profile for best results.
And my users have problems installing the app. I've gone over the project settings again and again, but everything looks right.
I've set the team provisioning profile to be the provisioning profile for both debug and release, I've even changed to a different team, but still the same problem.
Am I looking in the wrong place here?
I just came across this exact same issue. It looks like TestFlight have added a new check and are flagging developer provisioning profiles when they didn't in the past. Take a read of this (posted yesterday):
Testflight article
I've just uploaded a build to test flight using my normal approach to signing (with a developer certificate), ignored the testflight message, and distributed to my test users. Seemed to work OK.

Resources