Flutter deeplink на iOS?

Для работы с deep linking в приложениях Flutter на iOS необходимо выполнить следующие шаги:

1. Настройка проекта:
- Откройте файл ios/Runner/Info.plist и добавьте следующую конфигурацию для обработки deep linking:

   <key>CFBundleTypeRole</key>
   <string>Editor</string>
   <key>CFBundleURLName</key>
   <string>com.example.flutter</string>
   <key>CFBundleURLSchemes</key>
   <array>
       <string>myapp</string>
   </array>

2. Обработка deep links в коде Flutter:
- Используйте пакет firebase_dynamic_links для обработки deep linking в приложении Flutter. Добавьте этот пакет в файл pubspec.yaml:

   dependencies:
     firebase_dynamic_links: ^2.0.0

- Далее инициализируйте Firebase и настройте обработку deep linking в точке входа приложения (обычно это в файле main.dart):

   import 'package:firebase_dynamic_links/firebase_dynamic_links.dart';

   void main() {
     WidgetsFlutterBinding.ensureInitialized();
     runApp(MyApp());

     FirebaseDynamicLinks.instance.onLink(
       onSuccess: (PendingDynamicLinkData? dynamicLink) async {
         final Uri deepLink = dynamicLink?.link;
         // Обработка deep link здесь
       },
       onError: (OnLinkErrorException e) async {
         print('Error processing dynamic link: ${e.message}');
       }
     );
     // Проверка существующих deep link при запуске приложения
     handleDynamicLinks();
   }

   Future<void> handleDynamicLinks() async {
     final PendingDynamicLinkData? data = await FirebaseDynamicLinks.instance.getInitialLink();
     final Uri deepLink = data?.link;
     // Обработка существующего deep link при запуске
   }

3. Тестирование:
- Для тестирования deep linking на устройстве iOS, вам необходимо сгенерировать и установить универсальные ссылки (Universal Links) или использовать пользовательские схемы (custom URL schemes) в зависимости от того, что вы настроили в Info.plist.

После выполнения вышеперечисленных шагов вы сможете успешно реализовать deep linking в вашем приложении Flutter на iOS. Не забудьте также настроить deep linking для Android, если ваше приложение поддерживает обе платформы.