iOS Question [Solved] UIRequiredDeviceCapabilities

Filippo

Expert
Licensed User
Longtime User
Hi,

my app has not been approved because of the same errors: https://www.b4x.com/android/forum/threads/uirequireddevicecapabilities-key-in-the-info-plist.120186/

In the "PlistExtra" this attribute is not present,
#Region Project Attributes
'Orientation possible values: Portrait, LandscapeLeft, LandscapeRight and PortraitUpsideDown
#iPadOrientations: LandscapeLeft, LandscapeRight
#iPhoneOrientations: Portrait, LandscapeLeft, LandscapeRight
#Target: iPhone, iPad
#MinVersion: 8

'Nötig für die Classe clsInAppBilling
#ATSEnabled: false

#PlistExtra:<key>UIBackgroundModes</key><array><string>bluetooth-central</string></array>

'Background location tracking
#PlistExtra:<key>UIBackgroundModes</key><array><string>location</string></array>
#PlistExtra:<key>NSLocationAlwaysUsageDescription</key><string>Needed so that the driven distance can be determined during a race.</string>
#PlistExtra:<key>NSLocationUsageDescription</key><string>Needed so that the driven distance can be determined during a race.</string>
#PlistExtra:<key>NSLocationWhenInUseUsageDescription</key><string>Needed so that the driven distance can be determined during a race.</string>
#PlistExtra:<key>NSLocationAlwaysAndWhenInUseUsageDescription</key><string>Used to display the current navigation data.</string>

'Sinnlos, aber was soll :)
#PlistExtra:<key>NSCameraUsageDescription</key><string>Taking a photo.</string>
#PlistExtra:<key>NSPhotoLibraryUsageDescription</key><string>Select your photo.</string>
#PlistExtra:<key>NSBluetoothPeripheralUsageDescription</key><string>Bluetooth used to connect with App-Accessories</string>
#PlistExtra:<key>NSCalendarsUsageDescription</key><string>Not required</string>
#PlistExtra:<key>NSBluetoothAlwaysUsageDescription</key><string>Bluetooth used to connect with App-Accessories</string>

'Make your app files accessible with Files app
#PlistExtra:<key>LSSupportsOpeningDocumentsInPlace</key><true/><key>UIFileSharingEnabled</key><true/>

but under Objects\src\B4iProject\B4iProject-Info.plist.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>de.filipposoftware.cmm.lite</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>CMM</string>
<key>CFBundleDisplayName</key>
<string>CMM</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>UIRequiresFullScreen</key>
<true/>

<key>CFBundleIconName</key>
<string>AppIcon</string>
<key>CFBundleIcons</key>
<dict/>
<key>CFBundleIcons~ipad</key>
<dict/>
<key>CFBundleVersion</key>
<string>2.97</string>
<key>CFBundleShortVersionString</key>
<string>2.97</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>

</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
How can it be?
From where can it come?
 

JordiCP

Expert
Licensed User
Longtime User
My guess is that it is a direct consequence of this line:
B4X:
#MinVersion: 8
It means that the app has to be compatible with devices running iOS 8. It is a very old version and the devices using it also very old, probably 32-bit (armv7)

I'd change it to 12 🤷‍♂️
 
Upvote 0

Filippo

Expert
Licensed User
Longtime User
I'd change it to 12 🤷‍♂️
I will use your tip in the next update.
The app has now been approved without change, after I informed that this attribute was already included in the last update.
 
Upvote 0
Top