Flutter App cannot be found in Apple App Store - ios

We have developed an app with Flutter and want to market it internationally. We have received feedback that the app for iOS cannot be found in countries other than Germany (we are registered with Apple in Germany) (e.g. France and India).
However, this only applies if you search for the app name. If you search for the name of our developer account, you will find the app.
Target countries are entered in the App Store Settings.
We have contacted Apple Support and they say:
The problem is not the country as such, but the language setting of your app.
The languages in which your app is listed in the App Store depend on the localisation folders (.lproj) in your app bundle. Missing or invalid localisations in your app bundle are usually due to incorrect localisation configurations in your Xcode project.
We have checked our Flutter project and generated the localisation files via Xcode.
But still the app cannot be found in the Apple Stores outside of Germany (only if you search for our Developer Account name)

Related

iOS 14 App Library Categorization by developer name

I installed an app from the firebase app distribution and in the App Library on iOS 14 it was automatically categorized in the folder with developer name (attached a screenshot). Does anybody know how to change this behaviour ?
In App Library, your app will be under the developer name when you run it from Xcode. If you download the same, published app from the App Store, it will be correctly under the category that you set in App Store Connect e.i social, utilities, etc. So you wouldn't have to worry about it.

How to localize Watch OS 2 app name in Watch settings app on iPhone

I am trying to localize my Watch OS 2 app name in Watch settings app on iPhone. The name can be changed in Info.plist file in watchKit app target under CFBundleDisplayName key. But when I add key CFBundleDisplayName to my localized InfoPlist.strings files, its used only for app name when the app is loading on watch. The name is not localized in Watch settings app on iPhone. Apple tells in their documentation that name for Watch settings app is taken from ios app Info.plist file from CFBundleName key, but this seems to not be working.
This seems to be a known bug. You could report it to Apple again to raise some awareness with referencing the exiting reports at openradar. I am also struggling with this and have not yet find any workaround to make the settings app display a decent value. Still in some areas of the settings app are ok, e.g. check the Notifications setting in the iPhone's Watch App and the Watch App name is shown correctly (see screenshots below with app "Shopping List" vs. "Auf der Liste") - this is valid for WatchOS 3 and iOS 10.
The iPhone's Watch app does not localize app names

Deleting the app from ItunesConnect and submit as new app due to "UIRequiredDeviceCapabilities"

we submitted one app in "itunes connect" compatable of all devices but now we are planning to restrict to install only for "iphone devices", for that we removed the app from the store and resubmit as new app. My question is what changes we have to make for the new app changing the name from "itune connect",Bundle ID...etc can u help me whether i have to change "app icon" and bundle name in the xcode. What are the things i need to change while submiting as new app ??
Thanks in Advance
If you want to support more devices then previous version then you does not need to change any thing in iTunes Store other then you just have to add proper screen shots for supported devices.
But if you want to remove previously supported devices, which are installed in user's devices,then Apple does not accept your build .
"This bundle is invalid. The key UIRequiredDeviceCapabilities in the
Info.plist may not contain values that would prevent this application
from running on devices that were supported by previous versions."
"This bundle does not support one or more of the devices that were
supported in the previous bundle for this app. Bundles must continue
to support any devices previously supported."
If you still wants to remove previously supported devices, then you have to upload new build with support you want to provide for devices.
But you can not use same bundle Identifier and same name.
So, your previous user who downloads your previous app have to download this app from App Store.
Removing your app from the store, and uploading the update with a
different bundle ID, will allow you to narrow the range of devices
your update supports. However the update will be listed on the store
as a separate app. Existing users of your app must purchase the update
through the App Store, just like new customers.
Because the update will be treated as a different app, it must have a
different name in iTunes Connect than the name of the app already in
the store.
For more detail please find here : Why am I getting device support errors when uploading my app?

How to NOT deliver AppleWatch part of iOS app

We have a client using our source code. This project includes Apple Watch, but they do not want to build that into their app yet. They removed the Embed App Extensions. They were able to submit to the App Store, but then received an email:
We have discovered one or more issues with your recent delivery for
"XXX". To process your delivery, the following issues must be
corrected: Invalid WatchKit Support - The bundle contains an invalid
implementation of WatchKit. The app may have been built or signed with
non-compliant or pre-release tools. Visit developer.apple.com for more
information. Once these issues have been corrected, you can then
redeliver the corrected binary. Regards, The App Store team
What is the minimum modifications to do to a project that will not include the Apple Watch component, so that it is there for when they want to add it later?
I haven't seen a setting that could be added to info.plist.
Build just the iPhone app and not the watch app by using the correct Scheme in Xcode. Schemes are how you can control which targets to build in Xcode.
When the watch kit target was added, a scheme was created for building both the watch app and the mobile app.
When exporting app for release use just the mobile app scheme that is there and does not include the watch os target.
Scheme editor doc from apple:
https://developer.apple.com/library/mac/recipes/xcode_help-scheme_editor/Articles/SchemeDialog.html

Choose the bundle identifier for an iOS and Mac app

Suppose that I have an app called A.
Bundle Identifiers must be unique across all Mac and iOS apps. This means that if I have the app A on the iOS App Store with the Bundle ID com.mycompany.a, I cannot create an app on the Mac App Store with the same Bundle ID com.mycompany.a.
Ok, said that, what is the best way to distinguish the Bundle IDs?
Some examples I can think of:
com.mycompany.a_ios, com.mycompany.a_mac
com.mycompany.ios.a, com.mycompany.mac.a
Are there others that come to mind? Which you used?
Rather a request for an opinion than a question I'd say, but com.mycompany.application.platform is what I'd use.
The reason would be to make it more and more granular towards the end, seeing the platform as a sub component of the actual application.
Apple now allows you to use a single bundle ID for Mac and iOS apps through Universal Purchase:
Universal Purchase for Mac Apps Now Available
The macOS version of your app can now be included in a universal purchase, allowing customers to enjoy your app and in‑app purchases across iOS, iPadOS, macOS, watchOS, and tvOS by purchasing only once. Get started by using a single bundle ID for your apps in Xcode and setting up your app record for universal purchase in App Store Connect.
https://developer.apple.com/news/?id=03232020b
Offering Universal Purchase
Upload your apps to the app record using a single bundle ID. While the bundle ID must match the bundle ID you enter in App Store Connect, the apps can have different version numbers and build strings.
https://developer.apple.com/support/universal-purchase/

Resources