How can I move my Swift-based iOS apps to Flutter? - ios

I have five iOS apps available in AppStore, written in Swift, XCode. Currently I am working on Flutter and would like to launch my apps in both AppStore and Google Store.
My goal is to create a new version and publish an update (for iOS), with same Bundle IDs, so current users won't recognize the code changes and when smoothly updates their apps, they get the final versions.
Despite searching flutter.dev and stackoverflow, I haven't been able to find the right answer yet.
I appreciate if someone can provide a step-by-step guide on how to manage this problem.
Thank you in advance,

There is no instant way to convert it, but you can use
Flutter Method Channel
Buy using
import 'dart:io' show Platform;
if (Platform.isAndroid) {
// Android-specific code
} else if (Platform.isIOS) {
// iOS-specific code
}
you can specify if if the current feature only available on that platform.
By using same package name and same app signing it will replace the current app on the store, and user can update it
1.Build And Release Android App
2.Build And Release IOS App

Related

Can I start using Flutter even though my app is already on Playstore?

I already uploaded my android app (written in Java) on Playstore, and now I want to upload it on Appstore as well. In order to save time, I decided to use a cross-platform, but I realized that I should have began to develop with Flutter since the beginning.
Is possible to start developing my app on Flutter even though it is already on Playstore? Or do I have to use another cross-platform like Kotlin multiplatform?
yeah sure you can start with flutter, you need to clarify these things :
package name should be the same as on Play Store.
you have to choose your old key alias and passwords.
For cross-platform you have to build a new app for the app store
You have java code that does not directly compile in flutter but you can use your logic and architecture which you build earlier you have to build new app for app store
But make sure you have to use your older package name and key store so you can override your java app(Live on play store) into a flutter app.
You can rewrite your app in Flutter and upload it to the Play Store to replace the current one. It’s just a matter of making sure to sign the built applications with the same key as it proves to Play Store that you are in control of both, and you’re making the switch willingly. Also, your new app will have to have a version greater than the one already available in the Play Store, as downgrades are not allowed.

Some apps haven't been configured to use Apple's SKAdNetwork

After I publish my Flutter app on Apple App Store Admob gave this warning.
Some apps haven't been configured to use Apple's SKAdNetwork
To ensure you're getting credit for all ads activity, like app
installs, be sure to configure SKAdNetwork with Google's network IDs.
When I click "Get instructions" button. It opens this page:
https://developers.google.com/admob/ios/ios14?hl=en-GB
But as you know, this page is not for Flutter. This page is for Native iOS apps developing by Swift or Objective-C.
How can I configure Apple's SKAdNetwork in Flutter? Where to edit - change?
Interestingly, there is no source for this problem in the Internet.
I feel like the first person in the world to develop Flutter.
Really, there is no solution - no source in Flutter for this problem!
Note: There is no information about this problem in this source too:
https://developers.google.com/admob/flutter/quick-start#ios
EDIT: Must I implement ATT to configure SKAdNetwork? What happens if I only change Info.plist?
https://developers.google.com/admob/ios/ios14?hl=en-GB#request
Even with flutter applications, you have different configuration files for iOS and Android.
Look for the Info.plist file within your project (you must have one, usually under ios/Runner and update the keys as mentioned in the link you have attached
I solved my problem, this warning has been removed automatically. I was using out-dated admob SDK.
https://pub.dev/packages/google_mobile_ads/install
SOLUTION:
Update your admob SDK to latest version.
I edited my pubspec.yaml file.
dependencies:
google_mobile_ads: ^1.0.1
I updated my app on App Store so no warning is seen now in Admob Panel.

Open contact information/details page via phone number in IOS programatically

i want to open contact details page or information that we can open it from
contact book but i need it to open programatically, i am new to IOS.
I am developing an app in flutter environment, i didn't found anything in flutter for this so i have done this in android via platform specific code, now i need this working for IOS too.
Did anyone know how can i achieve it in Flutter or IOS via platform specific method, Or suggest specific IOS code for this?
Thanks in advance!!

Add React-native app to 'Activities' panel on IOS

I am looking for informations about to add an App in the 'Activities' IOS panel in order to can add my app to the list of sharing apps.
I don't know if it's automatic or if it need some configuration.
Thanks
This is possible using AppExtensions in iOS SDK.
In React native, the docs talk about App extensions here. And an example app for sharing is available in a github repo.

Automatically update iOS binary (IPA) from the app with objective-c codes

I am creating a free iOS applications. I want to make clients to be able to download new version of my application from setting page of my app by pressing a button named download new version.
I had see this accepted answer that looks good for me:
https://stackoverflow.com/a/23561783/1939409
Actually I am wondering whether this solution only works for ad-hoc apps or I can use BetaBuilder to create a IPA for my final apps that should install on non jailbreak devices too?
Also is there a way that I call this URL from my app with objective-c codes so that app itself download the IPA file and install it on the device?
You can update app by providing link of app's new version only if you have generated ad-hoc or enterprise distribution build. Also your app can not download the new version on its own. You need to open browser with new version link and rest of the process will be handled by iOS.

Resources