Flutter app deployment to App store rejected with following error - - flutter

Guideline 2.3 - Performance - Accurate Metadata
We were unable to install the app on iPad. The UIRequiredDeviceCapabilities key in the Info.plist is set in such a way that the app will not install on iOS 13.6.1 .
Next Steps
To resolve this issue, please check the UIRequiredDeviceCapabilities key to verify that it contains only the attributes required for your app features or the attributes that must not be present on the device. Attributes specified by a dictionary should be set to true if they are required and false if they must not be present on the device.
Resources
Please review the Technical Q&A 1397: Understanding the UIRequiredDeviceCapabilities key for information on the UIRequiredDeviceCapabilities key.
You may also wish to review the dictionary keys table in the "Declaring the Required Device Capabilities" section of the App Programming Guide for iOS.

For me the following solved this issue in the info.plist:
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>

You will have to use this code in info.plist
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>camera-flash</string>
</array>

Related

App Store submission shows app icon issues in Xcode 11

I was recently not able to submit the app to Appstore and its showing 3 errors and the thing is i have all the app icons placed in Xcode as you can see in my screenshot correctly but this error comes. I have been trying for many hours to solve this issue. Anyone has idea what is wrong and how to solve? I have included all the icons in my assets folder as you can see . I even checked the dimensions and even deleted assets folders and created new . But still the error comes. How to solve this issues?
Missing App Store Icon. iOS Apps must include a 1024x1024px App Store
Icon in PNG format. Without providing the icon in the Asset Catalog or
via iTunes Connect, apps cannot be submitted for App Review or Beta
App Review
Missing Info.plist value - A value for the Info.plist key
'CFBundleIconName' is missing in the bundle 'com.abcd.iphone'. Apps
built with iOS 11 or later SDK must supply app icons in an asset
catalog and must also provide a value for this Info.plist key. For
more information see
http://help.apple.com/xcode/mac/current/#/dev10510b1f7
XCODE ASSET FOLDER
Added the info.plist screenshot :
Make sure your asset catalog is in fact part of the app target.
Make sure your build settings point to the AppIcon image set.
And make sure you don't have multiple asset catalogs with multiple AppIcon image sets, as the build system will not know which one to use.
You should be able to open the built app package in the Finder and see the CFBundleIcon entry:
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>AppIcon60x60</string>
</array>
<key>CFBundleIconName</key>
<string>AppIcon</string>
</dict>
</dict>

iOS-14 netServiceBrowser.searchForServices Not working

Recently i updated my phone to iOS 14 and since then netServiceBrowser.searchForServices(ofType:"xyz._tcp", inDomain: "local.") not working at all. iPhone is not able to discover any services and not calling any NetServiceBrowserDelegate methods.
Your app requires access to the local network, and iOS14 has a new privacy option that requires authorization for this.
You have to add NSLocalNetworkUsageDescription to your Info.plist, see apple docs
If you use Bonjour, you need to déclare it in info.plist too...
<key>NSBonjourServices</key>
<array>
<string>_http._tcp</string>
</array>
here is my solutions that work for me well
<key>NSLocalNetworkUsageDescription</key>
<string>Allow Flutter tools on your computer to connect and debug app</string>
<key>NSBonjourServices</key>
<array>
<string>_dartobservatory._tcp</string>
</array>

getting error in DropBox integration to the iphone app

I am trying to integrate the DropBox to my iPhone app. But I get error like
[ERROR] DropboxSDK: unable to link; app isn't registered for correct URL scheme (db-xpt9oxj57x9ftci)
Can anyone help me to solve this?
Most of the time that problem is caused by a misconfigured Info.plist file. Can you make sure you've followed the documentation/index.html about changing Info.plist file? In info plist set db-key in urltype (urlschema). That should do the trick.
I googled and the Dropbox sdk has the line specifically to add the the app key in your app plist file
Your app key is also needed in DBRoulette-Info.plist file so the app
can register for the correct url scheme. To do this, find the file
under the Resources group in the left pane, right-click it and select
Open As → Source Code. Replace the text APP_KEY with your app's key
https://www.dropbox.com/developers/start/setup#ios
I found this solution.
I am working with Xamarin in Windows Visual Studio 2015, and as presented in other queries online, there is no "URL scheme" option available. So the solution is to modify info.plist by hand. Your dropbox specific plist scheme should look like this:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>dbapi-2</string>
<string>dbapi-8-emm</string>
</array>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>db-APP_KEY</string>
</array>
</dict>
</array>
A great helper for me to get this information was the "info.plist" for this. This "info" modification should work for any xamarin project.
If you fix any typos or forget the "db" and are still having problems, clean & rebuild may help.
Your URL scheme should be db-<Your App key>. Example db-a7ghdtthegj6z1g
I had this issue just now and was done in by a space before the db- prefix. Hard to see in the plist editor, but very obvious when I looked at the XML.

distribution provisioning and code signing issues

I just generated a ad hoc distribution provisioning. I dragged this into xcode and then set my ad hoc build to be iphone distribution. Followed every single step in this tutorial. The issue is that when I follow this instruction to see my list of devices it doesn't even have a ProvisionedDevices key in the embedded.mobileprovison. The key goes something like this:
<key>Entitlements</key>
<dict>
<key>application-identifier</key>
<string>8CH38P5X6X.*</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>8CH38P5X6X.*</string>
</array>
</dict>
<key>ExpirationDate</key>
<date>2012-03-17T00:31:45Z</date>
<key>Name</key>
<string>Fever</string> //this is not my app name, how come it's here
<key>TimeToLive</key>
<integer>291</integer>
<key>UUID</key>
<string>101F3A06-B33C-411A-8173-A4CEAFF5E673</string>
<key>Version</key>
<string>101F3A06-B33C-411A-8173-A4CEAFF5E673</string>
<key>Version</key>
<integer>1</integer>
</dict>
</plist>
The weirdest issue is that it has an app name in the , which is not my app name!! How is this even possible? Something is messed up..
This 8CH38P5X6X is also the App ID of my other app called Fever... how.. how is this possible. I've code signed adhoc using iphone distribution and it clearly says this:
UPDATE:
I removed/clear the provisioning profile that I have for the Fever app, restart xcode, and tried to build the archive again and it works! Anyone ever have issues with multiple provisioning profile on your xcode being mixed up like this?
If anyone is having such issues, please delete all other distribution provisioning profile you have on your system.

Prevent user from installing my app if capability not met

I working on an app and its primary need is auto focus camera. How can I prevent users to install this app if they don't have an auto focus camera?
well if you really want to prevent users from installing your app if they don't have a autofocus camera then you can add "UIRequiredDeviceCapabilities" key in your info.plist file and can add "auto-focus-camera" value to it. for more info you can visit my blog entry - http://www.makebetterthings.com/blogs/iphone/how-to-prevent-apps-to-being-installed-on-wrong-or-incapable-devices/
You need the UIRequiredDeviceCapabilities key of your Info.plist (see Apple's documentation); specifically, the capability auto-focus-camera.
You need to add a UIRequiredDeviceCapabilities key to your Info.plist file. That key is a dictionary; you need it to contain auto-focus-camera set to true.
<key>UIRequiredDeviceCapabilities</key>
<dict>
<key>auto-focus-camera</key>
<true/>
</dict>
See the full list of capabilities and more details.
Check out the UIRequiredDeviceCapabilities key in your Info.plist file. If you include "auto-focus-camera" as one of the items in that array, the app shouldn't install unless the device has that capability.
Have fun!