When trying to validate my new app using watchkit with xcode 6.2 I get a strange error:
iTunes Store operation failed.
Unsupported architectures. Your executable contains unsupported architectures '[armv7k]'.
What does armv7k even mean?
All my build settings (for the app and all extensions) look like the ones in the following screenshot:
Could the red color of my embedded binaries have something to do with the problem? Everything works great on my device and on the simulators.
Thanks in advance!
Update:
xCode 6.2 and iOS 8.2 was released. Problem is still there.
It's more than likely not passing validation as you can't actually submit watch apps yet.
Per https://developer.apple.com/watchkit/:
Please Note: Apps built with Xcode 6.2 and iOS 8.2 SDK may be submitted to the App Store. However, WatchKit extensions are not accepted at this time.
I think this is architecture of new Apple Watch. It is not architecture of your main app so you can't see it in build settings of your app. For sure it is impossible to submit app from Xcode beta.
I have the same issue but from Xcode 6.2 (not beta). May be itunesconnect does't support watchkit extensions yet.
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.
I deployed a hybrid app (Cordova) on iTunes App Store. Now its available for use. If I try to update the same app, I gets an error - on iOS 10.0.1 version - saying that:
"This app is not compatible with your device".
Any help would be really appreciable.
Thanks. :)
The issue may be that you chose to build the architecture only for 64 bit devices; you did not include armv7. This issue is discussed here:
https://developer.apple.com/library/content/qa/qa1910/_index.html
Also, there is a scheme that defines how the Archive build is created. You edit that scheme by selecting 'edit scheme' in the drop down menu that appears when you are picking which device to run on from Xcode. Under 'Archive' you should chose 'Distribution'.
I am having the following issue when i start uploading the app. i have added armv7, arm64 to Required device capabilities but still its giving issue. Here are the errors:
These are the steps i did for my problem. Problem solved.
before you archive the app do the following steps,
Un-plug the device from mac.
Clean and build the project.
Archive the project.
Validate.
Upload.
Solution:
Change the device to Generic iOS Device or unplug your 64bit phone
.
Reason:
Check Build Active Architecture Only in Build Settings > Architectures
if YES, xcode will determine the architecture of the test device selected and it will build for that only.
if NO, xcode will build for all architectures considering your minimumOSVersion
NOTE: setting Build Active Architecture to YES is faster when building, so use it when you need it fast
Those keys don't work the way you think they do : it's an AND not an OR. By including the arm64 key you are saying your app is for 64-bit devices only, which is not allowed on iOS 8. Delete the arm64 key.
Apple said at WWDC that 64-bit-only iOS apps will be allowed on iOS 9, but you'd need to be building with XCode 7 and targeting iOS 9.
You can also give those keys true and false values, which makes things more complicated. See Apple's docs if you want to know more. https://developer.apple.com/library/ios/qa/qa1397/_index.html
I am currently using XCode 6.3. My project is using CocoaPods.
I have set Deployment Target to be iOS7.0 for both my project and Pods. Also, I have validated my archive and it was successful.
But, when I clicked "Submit to App Store...", it failed with the following errors.
"Invalid Info.plist value. The value for the key ‘MinimumOSVersion’ in bundle ActionSheetPicker_3_0.framework is invalid. The minimum value is 8.0"
"Invalid Segment Alignment. The app binary at ‘AHKActionSheet’ does not have proper segment alignment. Try rebuilding app with the latest Xcode version."
Please help!!! I really need my app to work for iOS 7+, because I am from Myanmar and lots of people here are still using iOS 7. Thanks a lot!!!
The error appears because you are using the ActionSheetPicker framework which apparently requires iOS 8.
So you should review your ActionSheetPicker framework. Is there a version which supports iOS 7? If not you should use another framework.
As Dung says ActionSheetPicker requires iOS8. You have several options:
Weakly link the ActionSheetPicker framework, and use an alternative for iOS7
Fix (or ask developer to fix) ActionSheetPicker so it works with iOS7 (according to his Readme it should work with iOS 5.1.1+). It is likely only the case of changing deployment target of the framework and rebuilding.
Use a different library for this purpose, or code this functionality yourself.
Always test on the target iOS versions before you release to apple!
With Xcode 6.x we can use CocoaTouch Framework template to build a framework library and Xcode will create the .framework for us when we build, which is awesome. In our framework we want to support iOS 7.1 and up, so for Deployment Target (in our framework) we specified 7.1. Now when we build we see a warning: "Embedded dylibs/frameworks only run on iOS 8 or later". I've since read a number of blog posts on the subject that as far as running it on iOS 7.1 this warning can be ignored because it will run fine (still need to test to make sure). What concerns me is that I read a post on Stack Overflow which says an app may be rejected by Apple in the App Store (see: Xcode 6 and Embedded Frameworks only supported in iOS8)
Does it only apply when in Xcode the app links to it in General > Embedded Libraries?
The way we want our customers to link to our framework is:
Via CocoaPods
By referencing .framework in Build Phase > Link Binary With Libraries
I need to understand under what conditions App Store will reject an app which uses our CocoaTouch framework and supports 7.x iOS.
The app wont be rejected if you'll change the type of your framework to Static. See my answer here.
I believe that as long as the app deals with the framework correctly there shouldn't be any issues. Mixing with cocoapods could be tricky and honestly I don't know the best way to tackle it.
But from what I understand, if an app supports iOS 7.X -> 8.X and uses an embedded cocoa touch framework, as long as the compatibility checks are there to ensure the app doesn't crash in 7.X, there shouldn't be any reason for the app to be rejected.
We tried running the latest code on the following configurations:
iOS 8+ — iPhone 5s
iOS 7.1.2 — iPhone 4
iOS 6.1.3 — iPad 4
The App is working fine on all the three devices but the warning is present in the Xcode while compiling .
"embedded dylibs/frameworks only run on iOS 8 or later”
Also I tried to Archive the App in order to submit it to the app store it went on fine.
Also, found out a link where in an apple developer stated this to be a bug:
https://devforums.apple.com/message/999579#999579