Check IPA suppprted devices - ios

How can we check what devices are supported by my IPA?
I have created my IPA using cordova, I did settings in build.xcconfig file to work my IPA only for iPhone devices as follows
TARGETED_DEVICE_FAMILY = 1
I also done settings in PROJECT_NAME-info.plist file as
<key>UIRequiredDeviceCapabilities</key>
<dict>
<key>bluetooth-le</key>
</dict>
In Compatibility section of above image, there is big list of devices supported and it includes iPad mini, iPad.... and many more...
I wish to see text "iPhone 8.0 or later" only which says application supports only iPhone device... How can I achieve this?
I am not sure but is my blutooth-le setting which causing so many devices in compatibility section?
Please help.

Related

How to submit an archive only for 64-bit iOS devices?

I'm trying to archive a content blocker application. Because the API is only available on 64 bits, I've added this in the info.plist of the app:
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
This value is only in the application target, not the content blocker target. When sending my application to the App Store using Xcode Organizer it returns this message:
ERROR ITMS-90503: "Invalid Bundle. Apps that have 'arm64' in the list of UIRequiredDeviceCapabilities in Info.plist must only contain the arm64 slice."...
I've checked online and this error looks new and undocumented, do you know what should I do to remove it?
As dsiddhpura suggested, the solution is to check the valid architectures in the build settings. Be sure to have selected "All" in the right top-right corner and verify that there is only arm64 in the valid architectures.
It should look like this:
your plist must be look like that:
Set Build Active Architecture Only set to Yes. And you validate build product look like that:
You can't upload apps to the App Store with that requirement. The only requirement you can have is lowest iOS target. So if you specify iOS9 (latest) then the iPhone 4s is still able to download your app. iPhone 4s runs the 32-bit architecture.
Either you can remove the architectures other than "arm64" or you can limit the deployment target to 8.0

The correct beta entitlement for TestFlight Beta Testing in iTunesConnect with FlashBuilder

I develop games on ActionScript with FlashBuilder. I want to use TestFlight Beta Testing in iTuneConnect. But the builds that I compile with FlashBuilder don't contain the correct entitlement. I've generated new provisioning file, downloaded it and compiled my app with it. I use Adobe AIR SDK 15.0.0.295.
How can I generate the correct entitlement?
Olga
Updating to Adobe AIR SDK & Compiler (version 15.0.0.302) and adding the following code to the -app.xml file fixes this problem.
<Entitlements>
<![CDATA[ <key>get-task-allow</key>
<false/>
<key>beta-reports-active</key>
<true/> ]]>
</Entitlements>
Found this code here: Enabling TestFlight testing in iTunes Connect for Adobe AIR apps
This particular answer on a different thread helped me the most.
You WILL have to generate a new distribution profile if you created one before the launch of TestFlight.
https://stackoverflow.com/a/26221904/870274
"Yes, you need to recreate provisioning profile and one more important thing is that you need to provision your app with App Store distribution provisioning profile.
You can also convert .mobileprovision file to .xml with that command to see if there really is a beta-reports-active key in your entitlements.
security cms -D -i YourProfile.mobileprovision > YourProfile.xml

Package iPhone-Only binary in robovm

I developed a game with libgdx. I already published it to the play store and want to publish it also to the apple store.
Since I want the game to be only available for iPhones I need (or at least I think I need) to package a iPhone-Only binary with robovm...Now it creates only the universal binary which I can't use because the app is not optimized for ipads.
How can I achieve that? Thanks for any hints in advance.
Manuel
You need to change the UIDeviceFamily section in your Info.plist.xml file to only include <integer>1</integer>:
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
</array>
Just go to you Target settings and change the "Devices" under "Deployment Info" from "Universal" to "iPhone"

Codesign Check Fails . Code Object is not Signed at all In architecture: armv7

I ran the application on my test device iPod Touch 3G with iOS5.0.1 (9A405). The app complies and run fine on the real device. I have developer account installed. I get following error:
error: Codesign check fails : /Users/apple/Library/Developer/Xcode/Archives/2012-03-12/AppName 3-12-12 9.58 PM.xcarchive/Products/Applications/AppName.app: code object is not signed at all
In architecture: armv7.
I assume the my iPod Touch is a armv6 device. But in the AppName-Info.Plist
I have following fields:
Architectures Standard(armv7) - $(ARCHS_STANDARD_32_BIT)
Base SDK Latest iOS (iOS 5.0)
Code Signing Entitlements
Debug
Release
Code Signing Identity iPhone Developer
Debug iPhone Developer
Any iOS SDK iPhone Developer
Release iPhone Developer
Any iOS SDK iPhone Developer
One extra thing, in the
CODE_SIGN_REQUIRED is set to NO in /Platform/iPhoneOS.Platform/Developer/SDKs/iPhoneOS5.0.sdk/Developer/SDKSettings.plist. I cannot seems to change it to YES. I copy that file to desktop. Change the field and drop it back to this location. This field will not update even when Xcode Version 4.2.1 (4D502) is closed.
EDIT: I updated this file via command line. I was able to change CODE_SIGN_REQUIRED to YES but the problem still persist.
<dict>
<key>AlternateSDK</key>
<string>iphonesimulator5.0</string>
<key>CanonicalName</key>
<string>iphoneos5.0</string>
<key>CustomProperties</key>
<dict/>
<key>DefaultProperties</key>
<dict>
<key>AD_HOC_CODE_SIGNING_ALLOWED</key>
<string>NO</string>
<key>CODE_SIGNING_REQUIRED</key>
<string>YES</string>
<key>CODE_SIGN_ENTITLEMENTS</key>
<string></string>
<key>DEAD_CODE_STRIPPING</key>
<string>YES</string>
<key>ENTITLEMENTS_REQUIRED</key>
<string>YES</string>
Do i need to unable the CODE_SIGN_ENTITLEMENTS from blank to YES? Please help.
Why is it so hard to do code sign in Xcode? I had a app released on Android app store. It was much easier.

Flex mobile app distriubtion Ad Hoc package can't install on tester's device

I have released a Ad hoc package for limited distribution. I added all tester's device to the provisioning profile. I intalled the Ad package on my device (Iphone 4, ios 4.3.3, jailbreak), it works.
However, it can't install on other tester's device(ios 5). ipad show the error message on itunes ,"The app [app name] was not installed on the IPad, because it is not compatible on this IPad." IPhone show the error message on the phone "app is failed to install".
Is there any solution to fix this problem? I don't if the mobile app only works on jailbreak phone.
Check in your your-app.xml if you have both for iPhone and iPad.
<InfoAdditions><![CDATA[
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>
]]></InfoAdditions>
On another note, in Flash Builder, go to your projects properties >> Flex Build Packaging >> Apple iOS >> (you would need a native extension, even if you don't use it), and add the sdk folder of iOS 5.1. This way your App will be compiled to iOS 5.1.

Resources