RADStudio IOS deployment problems - ios

I am trying to build an iOS app using RadStudio XE6 and have nothing but problems trying to get the app on to iTunes connect. These are the steps I have carried out so far:-
Have created an app id in developer portal making note of the ID used.
Have created and downloaded a provisioning profile for the app with my iPhone registered as one of the devices.
I have created the App in iTunes connect
I have gone into the Project Options in RadStudio and change the provisioning so the certificate is the certificate I have created and the Mobile Provision profile is the one I have downloaded from the developer portal for this app I created in stage 1.
I hit project deploy and the app compiles, links and builds an IPA file on my Mac.
I then try and use application loader to send the IPA file through to iTunes connect. I get the following errors:
ERROR ITMS-9000: Your bundle identifier cannot be changed from the current value xxxxxx. If you want to change your bundle identifier you will have to create a new application in iTunes connect
ERROR ITMS-9000: This bundle is invalid. The application identifier element is missing. It should contain your 10-character Apple developer id, followed by a dot followed by your identifier.
ERROR ITMS-9000: Inavlid launch image - Your app contains a launch image with a size modifier that is only supported for apps built with the iOS 6.0 SDK or later.
Anybody have a clue what is causing these problems and more importantly how I fix them?
UPDATE - 15th September
After following the instructions in the answer below and also the link contained within in I got a message from application loader that the file did not include a payload directory. So I changed the name of the file to a zip file and unzipped it to find the Payload folder. And sure enough application loader error is now no .app bundles found in the package.
UPDATE - 17th September
I created a new Provisioning profile and tried to build and deploy the app with that, changing the budnle id in the version info accordingly. Still the same message of No payload folder. So I then quickly created a new app in rad studio and attached the provisioning profile and bundle id in the version info and build and deployed that... After adding the images that worked.. So there is something in my existing project that is screwed. I just have to find out what...

In Project|Options|Version Info set:
CFBundleIdentifier to your app unique ID (like com.yourdomain.yourappname). It must match what you set up in the Apple provisioning information.
CFBundleDisplayName to the name you want to appear below your icon on the IOS device.
CFBundleInfoDictionaryVersion to 7.1 (you should compile against the IOS 7.1 SDK).
CFBundleVersion to match the version number you have set in the Apple store information.
You can read more about deployment here. You can read more about provisioning here. You can read more about what NOT to do here.
Finally, this developer seems to have had the same errors as you and tells how he fixed it.

Related

While validating iOS app getting error - Request failed with error code "ENTITY ERROR.ATTRIBUTE.INVALID.DUPLICATE.SAME ACCOUNT"

We have iOS app already uploaded on App Store with other user’s developer account (which is from same team).
Now I have updated it with latest Xcode 14.1.
Now I am trying to upload updated version to App Store. When I archive and click on Validate app then I am getting below error.
I have created .csr file on my Mac with his Apple ID and he created distribution certificates with his account.
I have downloaded those certificates and updated provisioning profile. Code signing is correct.
In Xcode preferences, I have added both Apple IDs (mine and other member).
Bundle Identifier is also correct.
I am not getting what is the exact issue? Any hint?

Xamarin Deploying iOS App Ad Hoc Failing to Install

I am trying to deploy an iOS app Ad Hoc to an iPhone for beta testing. I've been developing the app on Windows VS, I have a Macbook air with all the necessary software (Xcode, VS, etc), and I have paired to it with VS on my Windows machine. I have also followed the following steps:
Created an Apple Developer account
Created an App ID with the bundle identifier as the same exact one as the one in info.plist
Created a signing certificate using my Macbook Air, downloaded it, and installed it into XCode
Created a provisioning profile with the App ID and the certificate, and made sure to include the device that I want to load the app onto.
Made sure everything above was set to "distribution" and "ad hoc" as needed.
Set Bundle Signing in my iOS project properties to Manual Provisioning, and selected the Signing Identity and Provisioning Profile to the ones that I created for this deployment.
Set the build to Release and the target to Remote Device
Ensured that the deployment target in info.plist was set to the highest available, which is 15.4, though my iPhone is at 15.6 (could this be the problem?)
Set the IPA Packaging Options to "Build iTunes Package Archive (IPA)"
Set "Include iTunesArtwork images and the iTunesMetadata.plist" to true in the same area
Successfully built the iOS project and produced a .ipa file
After all that, I've been trying to get the .ipa onto my phone, which is definitely the device I added to the provisioning profile.
I've tried two methods to do this, and both have failed:
Connecting my phone to my Windows machine and opening iTunes. Dragging the .ipa file onto the device. The app shows up on my phone, but when I try to open it, I get this error:
"This app could not be installed because its integrity could not be verified". Though it should have been.. The device is linked to the provisioning profile that was used to create the darn thing.
Connected my phone to my Macbook Air and accessed the device through XCode > Window > Devices and Simulators. I emailed myself the .ipa file and downloaded it onto the machine (the Microsoft docs explicitly state that emailing the .ipa should work just fine). In the "Intalled apps" section of the device, I clicked the little '+' and then pointed it to the downloaded .ipa. After a few seconds, it pops up an alert window that says "Unable to install *.iOS".
Other things I have tried since this has been a problem:
Recreating the above steps by re-registering my device, creating new certificates, downloading, installing, all that business.
Messing with the deployment target version.
Jumping out from behind the couch and startling it to make it do what it's supposed to.
I swear I'm done with Xamarin forever after this problem is solved, but all the headaches I've experienced have made me think twice about whether to even bother with .NET Maui haha thanks for any help you can provide
Firstly, the error This app could not be installed because its integrity could not be verified" may be caused by the proper certificate or the test devices are not visible in 'Devices' (UDIDs added) in developer.apple.com/account.I found two simialr issues, you can refer to them: link1, link2.
Secondly, have you follow this docs on how to generate the IPA file?

App Center iOS build unable to verify integrity

I'm working on a Xamarin application and I'm doing iOS builds to run and test on different devices using App Center.
Everything was ok, on Apple Developer I created the Ad-Hoc certificate, the provisioning file, and the identifier and it was all good.
During the last implementation, I added on Entitlements the Associated Domain due to enabling the possibility to use the App Link and let the user open the application using a link provided via email.
I updated the Identifier adding the feature also to it and I downloaded it and uploaded it again to the dedicated branch on App Center, but now when I try to download the app to the device I receive this message:
Unable To Install "App Name". This app cannot be installed because its integrity could not be verified.
I tried different ways trying to solve it:
Create a completely new certificate with a new identifier, provisioning, and .p12 file
Checked Entitlement feature list correspond to the identifier list on Apple Developer
Used different versions of SDK and Xcode on App Center
I already searched around on the web but they talk about the provisioning file list but I already checked and it is updated.
Thank you for your help and for your suggestions.

Upgrade's application-identifier entitlement string does not match installed application -> rejecting upgrade

I have an iOS app that is now around 3 years old. It is signed with an enterprise profile. We have released seven versions of the software, the last time being almost a year ago. Currently we are trying to do a new release but have found that due to the new security rules in iOS8 that iOS 8.1.3 devices and greater cannot upgrade and must delete and reinstall.
In researching I found similar issues for people who are signing the app with a different profile, but our app is being signed with the same profile. The error claims that our old application-identifier contained a wildcard, which I cannot figure out since we have never changed the bundle id(but, in the developer portal our general appId for all our apps is com.company.*).
I have found that if I build both version 1 and version 2 of the app with Xcode 6.4 I can upgrade successfully and if I build both versions of the app with Xcode 5.1 I can upgrade successfully, the problem is when trying to install a version of the app built with Xcode 6.4 over a version built with Xcode 5.1
The error we get when we attempt the upgrade is:
"Upgrade's application-identifier entitlement string (6Q39SSX4QT.com.company.appName) does not match installed application's application-identifier string (6Q39SSX4QT.com.company.*)"
I have seen some references to needing to include an entitlements.plist file in our app, we have a AppName.entitlements plist file, but none of our apps have a entitlements.plist file(and our other apps do not exhibit this problem though they have been upgraded multiple times since Xcode 5.1 released).
Anyone have any ideas?
Thanks!
Open Xcode - > Window -> Devices
Click on your device and remove the app you are trying to install from the installed apps list.
Try running now.
After doing some further reading, I found this answer to be helpful. In my case, I am building via a grunt script so I can modify my archive/sign/package step to insert the entitlements during the codesign step.
If you follow the steps I linked, you will want to make sure your entitlements.plist file contains the wildcard as shown below:
<key>application-identifier</key>
<string>com.company.*</string>
If you are doing the app packaging manually, you may want to look at iResign. This will create the entitlements.plist file for you and inject it while signing your app.
I wish there was better documentation available from Apple on this. I cannot get the same effect in XCode no matter what I specify in my target's Code Entitlements settings.
I have just had this error - it was because I had changed the development team used to sign the app. Ie I used our company's distribution profile to sign the development version and the client's distribution profile to sign a release version.
Check that the team id in the entitlements is the correct team id (printed in the error message) -> then its the installed app that is wrong. Also check that you haven't specified an application-identifier in an entitlements file. I didn't have an entitlements file at all.
In this case simply delete the app on the device and reinstall it fresh.
Chris

Error uploading to iOS App Store: ERROR ITMS-9000 "This bundle is invalid"

When we try to upload a new version of our app to Apple's App Store we get the following error in Application Loader:
ERROR ITMS-9000: "This bundle is invalid. New apps and app updates submitted to the App Store
must be built with public (GM) versions of Xcode 5 and iOS 7 SDK. Do not submit apps built with
beta software." at SoftwareAssets/SoftwareAsset (MZItmspSoftwareAssetPackage)
We are already building with the latest available version of Xcode, 5.1.1 (downloaded from the Mac App Store) and v7.1 of the iOS SDK (which came with Xcode 5.1.1).
Our app is built with Marmalade 7.2.1. We've tried rebuilding all of the EDK extensions and static libraries that our app uses.
What could be going wrong? Is there anything more anyone else can tell us about the error to help us track it down?
Starting May 15, 2014, new apps and app updates submitted to the App Store must be built with Xcode 5.1.1
You have to update your xcode.
Just clean all the things.
Check the developer/distribution certificate and mobile provision profile properly created, if not then revoke them from developer account and create all new one.
Remove all profiles from /Users/yourSystemName/Library/MobileDevice/Provisioning Profiles
Now, Export all certificates and keys from your keychain and Save them as backup for using them again.
Now install your developer/Distribution certificate first and install provisioning profile. And upload your application. This is tested way and should resolve your issue. Thanks.
When Xcode creates an .ipa package, it adds a number of elements to your project's Info.plist.
As our package is created with Marmalade's deployment tool, these elements need to be manually included in an Info.plist that is copied directly (with a much smaller amount of pre-processing) into the final .ipa.
Marmalade includes a standard Info.plist file within its installation for this purpose. However, you can override this, and we had done so by making a copy of their file, and updating it with changes we needed to make.
A later version of Marmalade made some changes to this file, and we hadn't copied these over into our file, and the difference is apparently what was causing the App Store to think that the App was built with an earlier version of Xcode than the version actually used.
The values which differed were DTSDKName, DTSDKBuild, DTXCode, DTXcodeBuild, DTPlatformBuild, and DTCompiler.

Resources