When we gave our app for ad-hoc testing, our tester reported that the app could not be installed because iTunes gave the error "resources have been modified". Please note that the app installed fine previously with the same procedures which we implement for deploying apps during ad-hoc. The only difference is that the device used for testing has its OS upgraded from 4.0 to 4.1 and now we are unable to install the app.
There are no issues with the zipped application file sent, no Thumbs.db file is present to corrupt the .app folder and all the distribution profiles are in place.
Also, we found out that the base SDK for building this app is 3.0, which installs fine in iOS 3.1.3 and 4.0 but gives issues with 4.1
One other app which has been written with base SDK 3.1.3 deploys correctly in iOS 4.1 though.
Please suggest some workarounds for this deployment issue
This is because someone has modified the files in the .app folder. If people go into the .app folder Thumbs.db will be created automatically, or they may have modified/changed something else.
Try rebuilding the file and zip it into a folder called "Payload.zip" then change this name to "yourAppName.ipa". This will stop people from being able to modify the files in the .app folder.
Related
I'm having a bit of an issue with distributing an app via the latest version of Xcode (Version 10.1 (10B61)). Every time I try to upload it to the App Store via organizer, I get this error after uploading:
WARNING ITMS-90725: "SDK Version Issue. This app was built with the iOS 12.0 SDK. Starting March 2019, all iOS apps submitted to the App Store must be built with the iOS 12.1 SDK or later, included in Xcode 10.1 or later."
Previous answers to this question said that it was just a warning and that I should still be able to upload my app, but it is now March and I am still getting the error even on 10.1. iTunesConnect will not let me select these builds and I get emails about the validation failure.
Further details:
-The app is an iMessage extension, and uses exactly 1 framework from Carthage, which is up to date with the latest framework version and Carthage version.
-My project and Message extension targets Swift Language Version build setting is Swift 4.2.
-My deployment target is iOS 11.0, but the issue persists after selecting iOS 12.1.
-The app compiles and runs fine on my physical device running iOS 12.1.
-The issue persists after a build folder clean.
-The issue persists after reinstalling Xcode.
If anyone has any suggestions as to how I can verify my app is compiling with the latest SDK please let me know.
Whether the app runs on given iOS version, has no relevance to which SDK are you really using. The definitive SDK version used for building is found in the app's Info.plist.
after Archiving, Show the xcarchive in Finder.
right-click, Show Package Contents.
open Products/Applications/YourApp.app
right-click, Show Package Contents.
copy the Info.plist to some place where you can run terminal commands on it
/usr/libexec/PlistBuddy -c "print :DTSDKBuild" Info.plist
You would expect it to show "16B91" for SDK 12.1. If it's something else (SDK 12.0 would be "16A366"), here are some ideas:
inspect the Carthage dependency. Are you really building it locally or downloading a prebuilt binary? If in doubt, force local building with --no-use-binaries. Remove whole Carthage folder (Checkouts as well as Build) and start from scratch.
rm -rf ~/Library/Developer/Xcode/DerivedData instead of just "build folder clean"
Verify MacOS System Report section Software/Developer for the actual SDK versions that MacOS thinks that you have
xcode-select -p to verify that you are really using the Xcode instance that you would like to
If all looks correct on your side, fill Technical Support Incident. Report the exact rejected build which you uploaded already. That should speed up the support reaction.
I filled out a bug report with Apple because I was experiencing the exact same issue and none of the above solutions worked. They made a change on their backend and now everything is back to proper working order.
If you haven't tried in awhile, make another attempt and I'm betting that it'll work this time.
I was having the same problem. My app was compiled in Xcode 10.1 but I was still getting the SDK warning. I was able to resolve it by doing the following. I'm not sure if all these steps are necessary. I didn't try validating between steps.
I upgraded macOS to Mojave (10.14.3). I had been running High Sierra.
Delete Xcode from applications folder
Reinstall Xcode from the app store
Open my project and run Project->Clean Build folder
Archive and upload and no more warnings
I'm developing my application in xcode 4.5 and i want to create the .ipa file to transfer the project in to client's device. But unfortunately I can't install it in device. Giving a pop up says "Cannot install".
i have created the ipa and installed it from xcode 4.0.2. So i know the process. I thinks i have given correct provisionning profile too. Is there any reason or anyone can give me a tutorial on this in xcode 4.5?
Did you build the app with an ad-hoc distribution profile that includes the client's device UDID?
Alteratively, use Testflight which works extremely well for this sort of thing.
for replies. i found the solution in entitlements.plist file thr is a property called
get-task-allow. i had to set it to NO.
Tht wat happed with xcode 4.5.
Thank you
Assuming the ipa is correct, is the client's device running an OS supported by the ipa (check deployment target of your project)?
What do you see in the Xcode Organizer console for the device as you perform the install? There is likely an error message in the console that will give you a clue.
Are there any unsafe characters in the .ipa filename? I had a case once where iTunes was installing the app and changing the .ipa filename to be the app name. Well, the app name had a '/' in it, and that doesn't work so well in filenames. The console showed me the error as it occurred.
If you aren't installing with the device connected to Xcode, you can use the iPhone Configuration Utility to watch/record the console on a remote machine.
I'd like to be able to pass around the version of my iphone application that was compiled for the simulator. The idea here is to be able to give copies of the app to different vms where they would deploy the app to the iOS simulator and run some tests.
But after I compile the app for the iOS simulator, I can't find the darn *.ipa. Does anyone know where it resides?
There’s no .ipa—Xcode copies the .app bundle by itself into the simulator. You can check:
~/Library/Developer/Xcode/DerivedData/YourProject-<some garbage>/Build/Products/Debug-iphonesimulator/
(swap Debug for Release if you’re looking to distribute a release build, obviously), or, alternately, get the version that’s actually installed in the simulator from:
~/Library/Application Support/iPhone Simulator/<OS version>/Applications/<some UUID>/.
You can copy that app bundle into another simulator by creating an arbitrarily-named folder in the above Applications directory and placing the .app inside it.
You can see where it is putting your build products by looking on:
Xcode Menu-> Preferences-> Locations
Or if you have project Specific settings they will be found by looking on
Xcode Menu-> File-> Project Settings
I think it builds the ipas from the products in those locations and loads them into the simulator. So you might not find an actual .ipa there you find .app in these locations.
If you want an ipa. Do an Archive build.
Do an Ad Hoc distribution and save the resulting .ipa to your desktop.
have you already tried the following location???
Library/Developer/Xcode/DerivedData
I am getting an error while uploading my app on device. It does installs it but not able to upload it.
Also I want to run the instrument tool on device but when I run it shows nothing.
Anyone facing the same issues.
I had this problem after changing around provisioning profiles and app ID's.
What fixed it for me:
Quit XCode
In Terminal.app, navigate to your project directory and execute rm -rf build/
Restart XCode
I also confirm, that I had that issue on Xcode 3.2.5 and iOS 4.2 GM Seed and after adding new provisioning profile.
You do not have to use terminal, you can select *.app from Products Group in 'Groups & Files' pane in Xcode. Then right-click on it, and select 'Reveal in finder'. Then manually delete the build catalogue. And restart Xcode.
Worked for me.
I was getting this issue on an iPhone running 3.0 software, but it was working fine on phones running 3.1. The app used to work on the 3.0 software until we added users to the provisioning for the app - this is the only thing I can think of that might have caused it.
If you're running 3.0 still, try upgrading to 3.1 and see if that fixes it.
I had the same error message in iOS 4.1 but from a different cause: when trying to link to a universal (ARM & X86) static library that was over 10MB. If I link directly to the ARM version of the static library (for iPhones), then it works fine.
Sometimes manual delete of Build folder of your application fails to solve the problem
"Failed to upload the .app on device"
Try
WIndows->organizer->Provisioning profile(in left pane)->refresh it once....
This has solved my problem!
Having gone through all the steps of submitting my app to the iStore by the book (and other manuals around), I get a 'not so funny' response after uploading my binary:
'The binary you uploaded was invalid. Fat binaries require a MinimumOSVersion of at least 3.0'
Now, I set the device deplyment to be 2.2.1 and the Base SDK the same. My build SDK is 3.0 and I'm pretty sure I do not use anything which is in 3.0 but not in the 2.2.1 API (I built and ran on both and tested).
It might be nothing, or not - I do use XML parsing and some XML files in my application, again, I'm not even sure that it is connected ot the problem.
If you have any experience with that or have a clue it's be great,
Check the Info.plist of the binary that is produced. The file should have the following setting somewhere in it:
MinimumOSVersion XYZ
...where XYZ is the Deployment Target OS version you are trying to build for.
I have noticed in my own binaries that this line does not exist for binaries built for the iPhone Simulator. Given that, my suspicion is that you are trying to upload a binary built for the simulator instead of the device. Try changing the Active SDK to "iPhone Device 2.2.1" and submitting that binary to the App Store.
I had a similar issue and it was due to me zipping the file up (or trying to upload it) from a PC. I used 'compress' on the mac and uploaded using firefox for mac os and it worked fine.
This window becomes visible upon clicking on the root project name in the Xcode directory /groups tree, where you can change the:
! Deployment Target OS 8.1 and SDK declarations
Also, under the General tab is the Asset Catalog where the Icon migration and Launch screen file conversion takes place.