I have build my application two years ago but not submitted on App Store. Now I want to submit the app on App store. But when I try to install app using Xcode or through diawi link of its Ad hoc build, app is not installing on device.
When I try to install app through Xcode, sometimes it shows
this application does not support this device's cpu type
and sometimes
Could not write to the device
and when I try to install app through diawi link of its Ad hoc build, it shows
Unable to download application, <app-name> could not be installed at this time
This issue is only occurring in device with ios 11. I have checked my certificates as well as UDID of device in which i am trying to install. Also I have set Architectures of Build Setting of Xcode to Standard architectures (arm7, arm64) - $(ARCHS_STANDARD). It is completely working fine in device with iOS version below 11.
Finally I have find the solution of my issue. In my case I have to remove some old libraries which is not supporting in ios 11 and have to change some deprecated code.
If your code is deprecated or some libraries are stop working then Xcode will show you only error of
this application does not support this device's cpu type
or
Could not write to the device
So you have to check that which library is deprecated after launching of ios 11.
Also you have to check all other details like Build Active Architectures Only, Architectures, Valid Architectures, Required device capabilities from Info.plist.
Related
When trying to build and install an application on an iPod running iOS 4.2.1, I'm seeing the error
This application does not support this device's CPU type
I'm trying to build the application using xcode 4.3, as well as xcode 4.4, and still seeing this. What can cause this and how can I fix it?
I have encountered such a problem today on iOS 11.2.1 with iPhone 7 devices.
The reason is that the previous project set up a 32-bit architecture that is no longer supported.
And I solved the problem as follows:
Project -> Build Settings -> Architectures value should be set Standard architectures - $(ARCHS_STANDARD)
From the project build settings -> Architectures, make sure you have both armv6 and armv7 values.
Also, you can check your Info.plist file, under Required device capabilities. If there's armv7 there, remove it.
If you are getting this error building Unity 3D application, change scripting backend to IL2CPP, and select "Universal" architecture.
This post led me to my answer. Thanks #adig and #masam
I have an iOS 8.4 enterprise signed app that would only work on certain device types when I tried to install it from our internal app store, and it was inconsistent. I wasn't getting any helpful error messages, even from the device console, until I tried to deploy it using the XCode Devices to a 5th gen iPod. It said "This application does not support this device type" which led me to here. I was debugging on a 6th gen iPod/iPhone 6.
I was archiving from a different scheme than I usually release from and I was only building the current architecture which meant that it would only work on a certain type of device depending on what was plugged in when I archived.
So make sure that "build active architecture only" is NO when you are archiving an app to sign as an Enterprise app.
My company has an app that can be downloaded through a website using Enterprise Distribution.
In iOS 9, tapping the download link brings up the expected pop-up "(website) would like to install (App Name)". Tapping 'install' on that dialog first causes the app to get stuck "Waiting..."
App stuck waiting
Until it finally indicates: "Unable to Download App (app name) could not be downloaded at this time."
Unable to Download the App
Installing works as expected using iOS 7 and iOS 8.
How do we support Enterprise Distribution in iOS 9?
Apple has silently changed how Enterprise Distribution works several times, so knowing the answer to this question will not actually benefit you in the long run. How to find the answer to your question the next time will benefit you most.
Connect your device with the shiny new iOS version to your Mac running Xcode, and open the Devices organizer. Select the device, and optionally clear the log. Now open your app distribution page and try to install the app (clear any previous versions of the app off the device first), and keep an eye on the log output. Here you will find hints as to what you need to change.
For iOS 9.1, I saw the error: BundleValidator: Failed bundleIdentifier: com.example.appName.XXXX does not match expected bundleIdentifier: com.example.appName, which means that the bundle-identifier in the project plist file did not match the Bundle Identifier from the project. I remember adding .XXXX to the bundle identifier in the plist file last time I had to fix Enterprise Distribution, for iOS 8.0, i think. Fixing this was easy, just remove the offending .XXXX -- but then it dosen't work for iOS < 9.0
For the time being, I maintain two plist files for distributing the same ipa file, one for iOS 8.+, and another for iOS 9.+
When I try to install an app on iOS 9.0 by tapping an itms-services:// URL in Safari, nothing happens. This appears in the iOS device console:
itunesstored[586] <Warning>: ExternalDownloadManifest: Skipping download and install of: XXXXXXX
This also happens if your device has an App Store version of your app installed, and you try to install an in-house version with the same Bundle ID.
When you do this, the device will simply ignore you tapping on your "Install" button to kick off the OTA install, and silently log that annoying message.
ExternalDownloadManifest: Skipping download and install of: XXXXXXX
Nothing gets displayed on the device, you're left to work out what's gone wrong for yourself.
So the obvious solution is to uninstall your App Store version of your app before attempting to install your in-house version.
Seriously, every year, I waste countless hours creating and deploying OTA apps with Xcode, and the Xcode/iOS error-reporting is non-existant.
It's really Apple at it's very worst.
Elaborating on Mike Gledhill's answer:
I had this problem upgrading from a production build to a newer Ad Hoc build from HockeyApp with the same Bundle ID. This was a security change added to iOS 8.4 and above to prevent the "Masque" attack.
Manifest Masque Attack leverages the CVE-2015-3722/3725 vulnerability to demolish an existing app on iOS when a victim installs an in-house iOS app wirelessly using enterprise provisioning from a website. The demolished app (the attack target) can be either a regular app downloaded from official App Store or even an important system app, such as Apple Watch, Apple Pay, App Store, Safari, Settings, etc. This vulnerability affects all iOS 7.x and iOS 8.x versions prior to iOS 8.4. We first notified Apple of this vulnerability in August 2014.
Source
Official solution from Apple:
You should use TestFlight to test upgrades to your App Store app rather than enterprise distribution.
rdar://22088607
This happens when the version you're installing has a different bundle ID than a version already installed on the device.
Seeing this recently with TestFairy builds when trying to install them on top of an already installed build from the App Store (Xcode 7, iOS 9)
TestFlight builds do upgrade properly however (not surprised).
See also Enterprise App Update Distribution on iOS 8
application context: ios7, xcode 5, written with titanium appcelerator (sdk 3.1.3GA), previous version compatibility was as the image says (directly from itunes connect)
the complete error is
this bundle does not support one or more devices. supported by the revious app version. your app update must continue to support all devices previously supported. your declare supported device in Xcode with the Targeted Device Family build setting. Refer to QA1623 for additional information: https://developer.apple.com/library/ios/qa/qa1623/_index.html
Now. I checked in the building settings as what the message says and the results is attached as images.
as you can see, I should cover all the apple devices (iphone/ipad), but still giving me the same error. anybody knows why?
thanks in advance
Your app was previously supported iPad too. You cannot drop support for a device family (iPhone or iPad) in an update. Make your app universal in project settings>General tab.
The solution for my problem was to simply rebuild the archive from titanium (publish app to apple store) and then archive the app.
I have selected Universal device for universal target.
no issue were found.
so it seems actually there's no problem in the process, but still don't know why there was that device compatibility problem.
I am new to iOS. I was installing latest XCode with SDK 6.0 in it. I have been successfully testing my app developed using SDK 6.0 on simulator. Now i want to test it on real device without developer program account. To do that, i use Jailcoder. I have an iPhone 3GS, with AppSync 5.0+ installed. I have tried "Quick XCode Patch" and "Patch My Project". However i still get signing error. It said,
CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 6.0'
Seems it due to iOS 6.0 SDK that has not been supporting jailbroken devices. I need some hints and workarounds to deal with this error.
I had same problem with a jailbroken iPhone 4S, solution above didn't work for me.
So for anyone else running into the same error message:
JailCoder does work on XCode 4.5 + Mac OS 10.8.
As an absolute noob I was missing the step 8 from this guide: Developing for a Jailbroken iPhone A to Z:
...link the device and computer. Plug your iPhone in and open Xcode.
Open Window>Organizer. Select the device from the list on the left
hand side, and click “Use for development.” You’ll be prompted for a
provisioning website login, click cancel. It’s there to make
legitimate provisioning easier, but doesn’t make illegitimate
not-provisioning more difficult.
By default, Xcode requires iOS apps to be signed. However, there is a plist file that Xcode uses, where you can change this. You can tell Xcode that code signing is not required.
Check this file:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/SDKSettings.plist
You can edit it on your Mac with the Property List Editor application.
Make sure that in that file, CODE_SIGNING_REQUIRED is set to NO. You'll probably need to do this each time you install a new iOS SDK (e.g. 5.0, 5.1, 6.0, etc.)
You can find out more about this on the BigBoss website here. BigBoss is one of the popular Cydia repositories for distributing jailbreak apps and tweaks.