fixed ios videocast

This commit is contained in:
jebeli 2025-09-06 15:16:22 +03:30
parent fc8ac99ea3
commit 1708218a8f
33 changed files with 438 additions and 271 deletions

View File

@ -1,9 +1,10 @@
PODS: PODS:
- app_links (0.0.2):
- Flutter
- audio_session (0.0.1): - audio_session (0.0.1):
- Flutter - Flutter
- awesome_notifications (0.8.1): - device_info_plus (0.0.1):
- Flutter - Flutter
- IosAwnCore (~> 0.8.0)
- DKImagePickerController/Core (4.3.9): - DKImagePickerController/Core (4.3.9):
- DKImagePickerController/ImageDataManager - DKImagePickerController/ImageDataManager
- DKImagePickerController/Resource - DKImagePickerController/Resource
@ -38,97 +39,101 @@ PODS:
- file_picker (0.0.1): - file_picker (0.0.1):
- DKImagePickerController/PhotoGallery - DKImagePickerController/PhotoGallery
- Flutter - Flutter
- Firebase/CoreOnly (10.29.0): - Firebase/CoreOnly (11.10.0):
- FirebaseCore (= 10.29.0) - FirebaseCore (~> 11.10.0)
- Firebase/Messaging (10.29.0): - Firebase/Messaging (11.10.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseMessaging (~> 10.29.0) - FirebaseMessaging (~> 11.10.0)
- firebase_core (3.3.0): - firebase_core (3.13.0):
- Firebase/CoreOnly (= 10.29.0) - Firebase/CoreOnly (= 11.10.0)
- Flutter - Flutter
- firebase_messaging (15.0.4): - firebase_messaging (15.2.5):
- Firebase/Messaging (= 10.29.0) - Firebase/Messaging (= 11.10.0)
- firebase_core - firebase_core
- Flutter - Flutter
- FirebaseCore (10.29.0): - FirebaseCore (11.10.0):
- FirebaseCoreInternal (~> 10.0) - FirebaseCoreInternal (~> 11.10.0)
- GoogleUtilities/Environment (~> 7.12) - GoogleUtilities/Environment (~> 8.0)
- GoogleUtilities/Logger (~> 7.12) - GoogleUtilities/Logger (~> 8.0)
- FirebaseCoreInternal (10.29.0): - FirebaseCoreInternal (11.10.0):
- "GoogleUtilities/NSData+zlib (~> 7.8)" - "GoogleUtilities/NSData+zlib (~> 8.0)"
- FirebaseInstallations (10.29.0): - FirebaseInstallations (11.10.0):
- FirebaseCore (~> 10.0) - FirebaseCore (~> 11.10.0)
- GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Environment (~> 8.0)
- GoogleUtilities/UserDefaults (~> 7.8) - GoogleUtilities/UserDefaults (~> 8.0)
- PromisesObjC (~> 2.1) - PromisesObjC (~> 2.4)
- FirebaseMessaging (10.29.0): - FirebaseMessaging (11.10.0):
- FirebaseCore (~> 10.0) - FirebaseCore (~> 11.10.0)
- FirebaseInstallations (~> 10.0) - FirebaseInstallations (~> 11.0)
- GoogleDataTransport (~> 9.3) - GoogleDataTransport (~> 10.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
- GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Environment (~> 8.0)
- GoogleUtilities/Reachability (~> 7.8) - GoogleUtilities/Reachability (~> 8.0)
- GoogleUtilities/UserDefaults (~> 7.8) - GoogleUtilities/UserDefaults (~> 8.0)
- nanopb (< 2.30911.0, >= 2.30908.0) - nanopb (~> 3.30910.0)
- Flutter (1.0.0) - Flutter (1.0.0)
- flutter_background_service_ios (0.0.3): - flutter_background_service_ios (0.0.3):
- Flutter - Flutter
- flutter_downloader (0.0.1): - flutter_downloader (0.0.1):
- Flutter - Flutter
- flutter_inappwebview_ios (0.0.1):
- Flutter
- flutter_inappwebview_ios/Core (= 0.0.1)
- OrderedSet (~> 6.0.3)
- flutter_inappwebview_ios/Core (0.0.1):
- Flutter
- OrderedSet (~> 6.0.3)
- flutter_local_notifications (0.0.1): - flutter_local_notifications (0.0.1):
- Flutter - Flutter
- flutter_secure_storage (6.0.0): - flutter_secure_storage (6.0.0):
- Flutter - Flutter
- flutter_sound (9.6.0): - flutter_sound (9.28.0):
- Flutter - Flutter
- flutter_sound_core (= 9.6.0) - flutter_sound_core (= 9.28.0)
- flutter_sound_core (9.6.0) - flutter_sound_core (9.28.0)
- flutter_vibrate (0.0.1): - GoogleDataTransport (10.1.0):
- Flutter - nanopb (~> 3.30910.0)
- GoogleDataTransport (9.4.1): - PromisesObjC (~> 2.4)
- GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/AppDelegateSwizzler (8.1.0):
- nanopb (< 2.30911.0, >= 2.30908.0)
- PromisesObjC (< 3.0, >= 1.2)
- GoogleUtilities/AppDelegateSwizzler (7.13.3):
- GoogleUtilities/Environment - GoogleUtilities/Environment
- GoogleUtilities/Logger - GoogleUtilities/Logger
- GoogleUtilities/Network - GoogleUtilities/Network
- GoogleUtilities/Privacy - GoogleUtilities/Privacy
- GoogleUtilities/Environment (7.13.3): - GoogleUtilities/Environment (8.1.0):
- GoogleUtilities/Privacy - GoogleUtilities/Privacy
- PromisesObjC (< 3.0, >= 1.2) - GoogleUtilities/Logger (8.1.0):
- GoogleUtilities/Logger (7.13.3):
- GoogleUtilities/Environment - GoogleUtilities/Environment
- GoogleUtilities/Privacy - GoogleUtilities/Privacy
- GoogleUtilities/Network (7.13.3): - GoogleUtilities/Network (8.1.0):
- GoogleUtilities/Logger - GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib" - "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Privacy - GoogleUtilities/Privacy
- GoogleUtilities/Reachability - GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (7.13.3)": - "GoogleUtilities/NSData+zlib (8.1.0)":
- GoogleUtilities/Privacy - GoogleUtilities/Privacy
- GoogleUtilities/Privacy (7.13.3) - GoogleUtilities/Privacy (8.1.0)
- GoogleUtilities/Reachability (7.13.3): - GoogleUtilities/Reachability (8.1.0):
- GoogleUtilities/Logger - GoogleUtilities/Logger
- GoogleUtilities/Privacy - GoogleUtilities/Privacy
- GoogleUtilities/UserDefaults (7.13.3): - GoogleUtilities/UserDefaults (8.1.0):
- GoogleUtilities/Logger - GoogleUtilities/Logger
- GoogleUtilities/Privacy - GoogleUtilities/Privacy
- home_widget (0.0.1): - home_widget (0.0.1):
- Flutter - Flutter
- image_cropper (0.0.4): - image_cropper (0.0.4):
- Flutter - Flutter
- TOCropViewController (~> 2.6.1) - TOCropViewController (~> 2.7.4)
- image_picker_ios (0.0.1): - image_picker_ios (0.0.1):
- Flutter - Flutter
- IosAwnCore (0.8.0)
- just_audio (0.0.1): - just_audio (0.0.1):
- Flutter - Flutter
- nanopb (2.30910.0): - FlutterMacOS
- nanopb/decode (= 2.30910.0) - nanopb (3.30910.0):
- nanopb/encode (= 2.30910.0) - nanopb/decode (= 3.30910.0)
- nanopb/decode (2.30910.0) - nanopb/encode (= 3.30910.0)
- nanopb/encode (2.30910.0) - nanopb/decode (3.30910.0)
- nanopb/encode (3.30910.0)
- OrderedSet (6.0.3)
- package_info_plus (0.4.5): - package_info_plus (0.4.5):
- Flutter - Flutter
- path_provider_foundation (0.0.1): - path_provider_foundation (0.0.1):
@ -139,17 +144,23 @@ PODS:
- PromisesObjC (2.4.0) - PromisesObjC (2.4.0)
- record_darwin (1.0.0): - record_darwin (1.0.0):
- Flutter - Flutter
- FlutterMacOS
- rive_common (0.0.1): - rive_common (0.0.1):
- Flutter - Flutter
- SDWebImage (5.19.7): - SDWebImage (5.21.2):
- SDWebImage/Core (= 5.19.7) - SDWebImage/Core (= 5.21.2)
- SDWebImage/Core (5.19.7) - SDWebImage/Core (5.21.2)
- sqflite (0.0.3): - Sentry/HybridSDK (8.46.0)
- sentry_flutter (8.14.2):
- Flutter
- FlutterMacOS
- Sentry/HybridSDK (= 8.46.0)
- sms_autofill (0.0.1):
- Flutter
- sqflite_darwin (0.0.4):
- Flutter - Flutter
- FlutterMacOS - FlutterMacOS
- SwiftyGif (5.4.5) - SwiftyGif (5.4.5)
- TOCropViewController (2.6.1) - TOCropViewController (2.7.4)
- url_launcher_ios (0.0.1): - url_launcher_ios (0.0.1):
- Flutter - Flutter
- video_player_avfoundation (0.0.1): - video_player_avfoundation (0.0.1):
@ -159,34 +170,38 @@ PODS:
- Flutter - Flutter
- webview_flutter_wkwebview (0.0.1): - webview_flutter_wkwebview (0.0.1):
- Flutter - Flutter
- FlutterMacOS
DEPENDENCIES: DEPENDENCIES:
- app_links (from `.symlinks/plugins/app_links/ios`)
- audio_session (from `.symlinks/plugins/audio_session/ios`) - audio_session (from `.symlinks/plugins/audio_session/ios`)
- awesome_notifications (from `.symlinks/plugins/awesome_notifications/ios`) - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
- file_picker (from `.symlinks/plugins/file_picker/ios`) - file_picker (from `.symlinks/plugins/file_picker/ios`)
- firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
- Flutter (from `Flutter`) - Flutter (from `Flutter`)
- flutter_background_service_ios (from `.symlinks/plugins/flutter_background_service_ios/ios`) - flutter_background_service_ios (from `.symlinks/plugins/flutter_background_service_ios/ios`)
- flutter_downloader (from `.symlinks/plugins/flutter_downloader/ios`) - flutter_downloader (from `.symlinks/plugins/flutter_downloader/ios`)
- flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`)
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`) - flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
- flutter_sound (from `.symlinks/plugins/flutter_sound/ios`) - flutter_sound (from `.symlinks/plugins/flutter_sound/ios`)
- flutter_vibrate (from `.symlinks/plugins/flutter_vibrate/ios`)
- home_widget (from `.symlinks/plugins/home_widget/ios`) - home_widget (from `.symlinks/plugins/home_widget/ios`)
- image_cropper (from `.symlinks/plugins/image_cropper/ios`) - image_cropper (from `.symlinks/plugins/image_cropper/ios`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- just_audio (from `.symlinks/plugins/just_audio/ios`) - just_audio (from `.symlinks/plugins/just_audio/darwin`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
- record_darwin (from `.symlinks/plugins/record_darwin/ios`) - record_darwin (from `.symlinks/plugins/record_darwin/ios`)
- rive_common (from `.symlinks/plugins/rive_common/ios`) - rive_common (from `.symlinks/plugins/rive_common/ios`)
- sqflite (from `.symlinks/plugins/sqflite/darwin`) - sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`)
- sms_autofill (from `.symlinks/plugins/sms_autofill/ios`)
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`) - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`)
- wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`) - wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`) - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/darwin`)
SPEC REPOS: SPEC REPOS:
trunk: trunk:
@ -200,18 +215,21 @@ SPEC REPOS:
- flutter_sound_core - flutter_sound_core
- GoogleDataTransport - GoogleDataTransport
- GoogleUtilities - GoogleUtilities
- IosAwnCore
- nanopb - nanopb
- OrderedSet
- PromisesObjC - PromisesObjC
- SDWebImage - SDWebImage
- Sentry
- SwiftyGif - SwiftyGif
- TOCropViewController - TOCropViewController
EXTERNAL SOURCES: EXTERNAL SOURCES:
app_links:
:path: ".symlinks/plugins/app_links/ios"
audio_session: audio_session:
:path: ".symlinks/plugins/audio_session/ios" :path: ".symlinks/plugins/audio_session/ios"
awesome_notifications: device_info_plus:
:path: ".symlinks/plugins/awesome_notifications/ios" :path: ".symlinks/plugins/device_info_plus/ios"
file_picker: file_picker:
:path: ".symlinks/plugins/file_picker/ios" :path: ".symlinks/plugins/file_picker/ios"
firebase_core: firebase_core:
@ -224,14 +242,14 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_background_service_ios/ios" :path: ".symlinks/plugins/flutter_background_service_ios/ios"
flutter_downloader: flutter_downloader:
:path: ".symlinks/plugins/flutter_downloader/ios" :path: ".symlinks/plugins/flutter_downloader/ios"
flutter_inappwebview_ios:
:path: ".symlinks/plugins/flutter_inappwebview_ios/ios"
flutter_local_notifications: flutter_local_notifications:
:path: ".symlinks/plugins/flutter_local_notifications/ios" :path: ".symlinks/plugins/flutter_local_notifications/ios"
flutter_secure_storage: flutter_secure_storage:
:path: ".symlinks/plugins/flutter_secure_storage/ios" :path: ".symlinks/plugins/flutter_secure_storage/ios"
flutter_sound: flutter_sound:
:path: ".symlinks/plugins/flutter_sound/ios" :path: ".symlinks/plugins/flutter_sound/ios"
flutter_vibrate:
:path: ".symlinks/plugins/flutter_vibrate/ios"
home_widget: home_widget:
:path: ".symlinks/plugins/home_widget/ios" :path: ".symlinks/plugins/home_widget/ios"
image_cropper: image_cropper:
@ -239,7 +257,7 @@ EXTERNAL SOURCES:
image_picker_ios: image_picker_ios:
:path: ".symlinks/plugins/image_picker_ios/ios" :path: ".symlinks/plugins/image_picker_ios/ios"
just_audio: just_audio:
:path: ".symlinks/plugins/just_audio/ios" :path: ".symlinks/plugins/just_audio/darwin"
package_info_plus: package_info_plus:
:path: ".symlinks/plugins/package_info_plus/ios" :path: ".symlinks/plugins/package_info_plus/ios"
path_provider_foundation: path_provider_foundation:
@ -250,8 +268,12 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/record_darwin/ios" :path: ".symlinks/plugins/record_darwin/ios"
rive_common: rive_common:
:path: ".symlinks/plugins/rive_common/ios" :path: ".symlinks/plugins/rive_common/ios"
sqflite: sentry_flutter:
:path: ".symlinks/plugins/sqflite/darwin" :path: ".symlinks/plugins/sentry_flutter/ios"
sms_autofill:
:path: ".symlinks/plugins/sms_autofill/ios"
sqflite_darwin:
:path: ".symlinks/plugins/sqflite_darwin/darwin"
url_launcher_ios: url_launcher_ios:
:path: ".symlinks/plugins/url_launcher_ios/ios" :path: ".symlinks/plugins/url_launcher_ios/ios"
video_player_avfoundation: video_player_avfoundation:
@ -259,52 +281,56 @@ EXTERNAL SOURCES:
wakelock_plus: wakelock_plus:
:path: ".symlinks/plugins/wakelock_plus/ios" :path: ".symlinks/plugins/wakelock_plus/ios"
webview_flutter_wkwebview: webview_flutter_wkwebview:
:path: ".symlinks/plugins/webview_flutter_wkwebview/ios" :path: ".symlinks/plugins/webview_flutter_wkwebview/darwin"
SPEC CHECKSUMS: SPEC CHECKSUMS:
audio_session: 088d2483ebd1dc43f51d253d4a1c517d9a2e7207 app_links: 76b66b60cc809390ca1ad69bfd66b998d2387ac7
awesome_notifications: db394d2e061e4583ba0f738ddea611e3986cc3fb audio_session: 9bb7f6c970f21241b19f5a3658097ae459681ba0
device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655 file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be
Firebase: cec914dab6fd7b1bd8ab56ea07ce4e03dd251c2d Firebase: 1fe1c0a7d9aaea32efe01fbea5f0ebd8d70e53a2
firebase_core: 57aeb91680e5d5e6df6b888064be7c785f146efb firebase_core: 2d4534e7b489907dcede540c835b48981d890943
firebase_messaging: c862b3d2b973ecc769194dc8de09bd22c77ae757 firebase_messaging: 75bc93a4df25faccad67f6662ae872ac9ae69b64
FirebaseCore: 30e9c1cbe3d38f5f5e75f48bfcea87d7c358ec16 FirebaseCore: 8344daef5e2661eb004b177488d6f9f0f24251b7
FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934 FirebaseCoreInternal: ef4505d2afb1d0ebbc33162cb3795382904b5679
FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd FirebaseInstallations: 9980995bdd06ec8081dfb6ab364162bdd64245c3
FirebaseMessaging: 7b5d8033e183ab59eb5b852a53201559e976d366 FirebaseMessaging: 2b9f56aa4ed286e1f0ce2ee1d413aabb8f9f5cb9
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_background_service_ios: e30e0d3ee69e4cee66272d0c78eacd48c2e94aac flutter_background_service_ios: 00d31bdff7b4bfe06d32375df358abe0329cf87e
flutter_downloader: b7301ae057deadd4b1650dc7c05375f10ff12c39 flutter_downloader: 78da0da1084e709cbfd3b723c7ea349c71681f09
flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086 flutter_inappwebview_ios: b89ba3482b96fb25e00c967aae065701b66e9b99
flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be flutter_local_notifications: a5a732f069baa862e728d839dd2ebb904737effb
flutter_sound: dde9a913063b65a27ba8fdc2039036b99b136c79 flutter_secure_storage: 1ed9476fba7e7a782b22888f956cce43e2c62f13
flutter_sound_core: 0c6eb9d5268adc70ff159b3d65fd3d98a82d3a27 flutter_sound: b9236a5875299aaa4cef1690afd2f01d52a3f890
flutter_vibrate: 9f4c2ab57008965f78969472367c329dd77eb801 flutter_sound_core: 427465f72d07ab8c3edbe8ffdde709ddacd3763c
GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15 GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
home_widget: 0434835a4c9a75704264feff6be17ea40e0f0d57 home_widget: f169fc41fd807b4d46ab6615dc44d62adbf9f64f
image_cropper: 60c2789d1f1a78c873235d4319ca0c34a69f2d98 image_cropper: c4326ea50132b1e1564499e5d32a84f01fb03537
image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1 image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
IosAwnCore: ed1b2b6d84962a758354dbacd9ce525c72ce28a9 just_audio: 4e391f57b79cad2b0674030a00453ca5ce817eed
just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
nanopb: 438bc412db1928dac798aa6fd75726007be04262 OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94
package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
record_darwin: df0a677188e5fed18472550298e675f19ddaffbe record_darwin: fb1f375f1d9603714f55b8708a903bbb91ffdb0a
rive_common: c537b4eed761e903a9403d93c347b69bd7a4762f rive_common: 436bbc8ffad130e54693666382cbdaade8dac9e0
SDWebImage: 8a6b7b160b4d710e2a22b6900e25301075c34cb3 SDWebImage: 9f177d83116802728e122410fb25ad88f5c7608a
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec Sentry: da60d980b197a46db0b35ea12cb8f39af48d8854
sentry_flutter: 27892878729f42701297c628eb90e7c6529f3684
sms_autofill: b36b2147535657fea83d7f3898d7831de70bd8e4
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863 TOCropViewController: 80b8985ad794298fb69d3341de183f33d1853654
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3 video_player_avfoundation: 2cef49524dd1f16c5300b9cd6efd9611ce03639b
wakelock_plus: 78ec7c5b202cab7761af8e2b2b3d0671be6c4ae1 wakelock_plus: e29112ab3ef0b318e58cfa5c32326458be66b556
webview_flutter_wkwebview: 2a23822e9039b7b1bc52e5add778e5d89ad488d1 webview_flutter_wkwebview: 1821ceac936eba6f7984d89a9f3bcb4dea99ebb2
PODFILE CHECKSUM: 76346ded4b0438dd89826a25813fc91ef681eb1f PODFILE CHECKSUM: 76346ded4b0438dd89826a25813fc91ef681eb1f
COCOAPODS: 1.15.2 COCOAPODS: 1.16.2

View File

@ -59,6 +59,7 @@
ignoresPersistentStateOnLaunch = "NO" ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES" debugDocumentVersioning = "YES"
debugServiceExtension = "internal" debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES"> allowLocationSimulation = "YES">
<BuildableProductRunnable <BuildableProductRunnable
runnableDebuggingMode = "0"> runnableDebuggingMode = "0">

View File

@ -3,7 +3,7 @@ import Flutter
import Firebase import Firebase
import FirebaseCore import FirebaseCore
@UIApplicationMain @main
@objc class AppDelegate: FlutterAppDelegate, MessagingDelegate { @objc class AppDelegate: FlutterAppDelegate, MessagingDelegate {
override func application( override func application(
_ application: UIApplication, _ application: UIApplication,

View File

@ -32,12 +32,14 @@ class AppInitializer {
final studioState = context.read<StudioDetailsState>(); final studioState = context.read<StudioDetailsState>();
MediaService.audioPlayer.playingStream.listen((event) { MediaService.audioPlayer.playingStream.listen((event) {
if (event && if (event &&
(MediaService.audioPlayerTag?.contains('podcast') ?? false)) { (MediaService.audioPlayerTag?.contains('podcast') ?? false) &&
MediaService.currentPodcast != null) {
studioState.handleTracking( studioState.handleTracking(
id: MediaService.currentPodcast!.id, id: MediaService.currentPodcast!.id,
sendRequest: false, sendRequest: false,
); );
} else if (MediaService.audioPlayerTag?.contains('podcast') ?? false) { } else if ((MediaService.audioPlayerTag?.contains('podcast') ?? false) &&
MediaService.currentPodcast != null) {
studioState.handleTracking(id: MediaService.currentPodcast!.id); studioState.handleTracking(id: MediaService.currentPodcast!.id);
} }
}); });

View File

@ -10,6 +10,7 @@ import 'package:didvan/routes/routes.dart';
import 'package:didvan/services/app_initalizer.dart'; import 'package:didvan/services/app_initalizer.dart';
import 'package:didvan/utils/action_sheet.dart'; import 'package:didvan/utils/action_sheet.dart';
import 'package:didvan/views/ai/ai_state.dart'; import 'package:didvan/views/ai/ai_state.dart';
import 'package:didvan/views/ai/ai.dart';
import 'package:didvan/views/ai/history_ai_chat_state.dart'; import 'package:didvan/views/ai/history_ai_chat_state.dart';
import 'package:didvan/views/ai/widgets/hoshan_drawer.dart'; import 'package:didvan/views/ai/widgets/hoshan_drawer.dart';
import 'package:didvan/views/home/categories/categories_page.dart'; import 'package:didvan/views/home/categories/categories_page.dart';
@ -43,103 +44,6 @@ class _HomeState extends State<Home>
with SingleTickerProviderStateMixin, WidgetsBindingObserver { with SingleTickerProviderStateMixin, WidgetsBindingObserver {
late final TabController _tabController; late final TabController _tabController;
Future<void> _showDialog(BuildContext context) async {
WidgetsBinding.instance.addPostFrameCallback((_) {
ActionSheetUtils(context)
.openDialog(
data: ActionSheetData(
hasDismissButton: false,
hasConfirmButton: false,
withoutButtonMode: true,
content: Column(
mainAxisSize: MainAxisSize.min,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
InkWrapper(
onPressed: () => Navigator.of(context).pop(),
child: const Icon(DidvanIcons.close_solid, size: 24),
),
],
),
const SizedBox(height: 15),
SvgPicture.asset(Assets.horizontalLogoWithText, height: 80),
const SizedBox(height: 24),
DidvanText(
'به سوپر اپلیکیشن دیدوان خوش آمدید',
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.titleMedium,
),
const SizedBox(height: 24),
],
),
),
)
.then((value) => ActionSheetUtils(context).openDialog(
data: ActionSheetData(
// ignore: deprecated_member_use
backgroundColor: Theme.of(context).colorScheme.background,
isBackgroundDropBlur: true,
content: Stack(
children: [
Padding(
padding: const EdgeInsets.only(top: 24.0),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
DidvanText(
'شخصی سازی محتوا',
style:
Theme.of(context).textTheme.displaySmall,
color: Theme.of(context).colorScheme.text,
),
],
),
const SizedBox(
height: 12,
),
const DidvanText(
"کاربر گرامی\nلطفا جهت شخصی‌سازی و استفاده بهتر از برنامه، دسته‌بندی‌های مورد علاقه خود و زمان دریافت اعلانات را انتخاب نمایید.")
],
),
),
Positioned(
top: 0,
left: 0,
child: InkWrapper(
onPressed: () {
Future.delayed(
Duration.zero,
() => Navigator.of(context).pop(),
);
},
child: const Icon(
DidvanIcons.close_solid,
size: 24,
),
),
),
],
),
onConfirmed: () {
Future.delayed(
Duration.zero,
() =>
Navigator.of(navigatorKey.currentContext!).pushNamed(
Routes.favouritesStep,
arguments: {"toTimer": true},
),
);
},
confrimTitle: 'تایید',
),
));
});
}
@override @override
void initState() { void initState() {
// Remove dialog showing logic to prevent welcome popups // Remove dialog showing logic to prevent welcome popups
@ -154,7 +58,8 @@ class _HomeState extends State<Home>
_tabController.addListener(() { _tabController.addListener(() {
state.currentPageIndex = _tabController.index; state.currentPageIndex = _tabController.index;
if (_tabController.index == 3) { // Changed from 2 to 3 for Houshan tab if (_tabController.index == 3) {
// Changed from 2 to 3 for Houshan tab
// با هر بار ورود به تب هوشان، لیست چتها ریست میشود // با هر بار ورود به تب هوشان، لیست چتها ریست میشود
final historyState = context.read<HistoryAiChatState>(); final historyState = context.read<HistoryAiChatState>();
historyState.chats.clear(); historyState.chats.clear();
@ -183,20 +88,20 @@ class _HomeState extends State<Home>
} }
PreferredSizeWidget getAppBar() { PreferredSizeWidget getAppBar() {
// Show HoshanAppBar only for AI section (index 3) // Show HoshanAppBar only for AI section (index 3)
if (context.watch<HomeState>().tabController.index == 3) { if (context.watch<HomeState>().tabController.index == 3) {
return HoshanAppBar( return HoshanAppBar(
onBack: () { onBack: () {
final state = context.read<AiState>(); final state = context.read<AiState>();
if (state.page == 1) { if (state.page == 1) {
state.goToAi(); state.goToAi();
} }
}, },
); );
}
// For all other tabs (home, categories, statistics), show LogoAppBar
return const LogoAppBar();
} }
// For all other tabs (home, categories, statistics), show LogoAppBar
return const LogoAppBar();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -228,7 +133,8 @@ class _HomeState extends State<Home>
confrimTitle: 'بله', confrimTitle: 'بله',
dismissTitle: 'خیر', dismissTitle: 'خیر',
)); ));
} else if (context.read<HomeState>().tabController.index == 3) { // Changed from 2 to 3 } else if (context.read<HomeState>().tabController.index == 3) {
// Changed from 2 to 3
switch (context.read<AiState>().page) { switch (context.read<AiState>().page) {
case 1: case 1:
context.read<AiState>().goToAi(); context.read<AiState>().goToAi();
@ -258,7 +164,7 @@ class _HomeState extends State<Home>
MainPage(), MainPage(),
CategoriesPage(), CategoriesPage(),
NewStatistic(), NewStatistic(),
// AiSection(), Ai(),
], ],
), ),
), ),

View File

@ -39,6 +39,7 @@ class _MainPagePodcastItemState extends State<MainPagePodcastItem> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GestureDetector( return GestureDetector(
onTap: () async { onTap: () async {
debugPrint("Playing podcast from URL: ${widget.content.link}");
final state = context.read<StudioDetailsState>(); final state = context.read<StudioDetailsState>();
await state.getStudioDetails( await state.getStudioDetails(
widget.content.id, widget.content.id,

View File

@ -9,6 +9,7 @@ import 'package:didvan/services/media/media.dart';
import 'package:didvan/views/podcasts/studio_details/studio_details_state.dart'; import 'package:didvan/views/podcasts/studio_details/studio_details_state.dart';
import 'package:didvan/views/podcasts/studio_details/widgets/studio_details_widget.dart'; import 'package:didvan/views/podcasts/studio_details/widgets/studio_details_widget.dart';
import 'package:didvan/views/widgets/bookmark_button.dart'; import 'package:didvan/views/widgets/bookmark_button.dart';
import 'package:didvan/views/widgets/audio/audio_player_widget.dart';
import 'package:didvan/views/widgets/didvan/app_bar.dart'; import 'package:didvan/views/widgets/didvan/app_bar.dart';
import 'package:didvan/views/widgets/state_handlers/state_handler.dart'; import 'package:didvan/views/widgets/state_handlers/state_handler.dart';
import 'package:didvan/views/widgets/video/primary_controls.dart'; import 'package:didvan/views/widgets/video/primary_controls.dart';
@ -66,11 +67,12 @@ class _StudioDetailsState extends State<StudioDetails> {
} }
Future<void> _initializePlayer(StudioDetailsData studio) async { Future<void> _initializePlayer(StudioDetailsData studio) async {
if (widget.pageData['args']['type'] == 'video') { if (studio.type == 'video') {
// Disposing old controllers before creating new ones. // Disposing old controllers before creating new ones.
_videoPlayerController?.dispose(); _videoPlayerController?.dispose();
_chewieController?.dispose(); _chewieController?.dispose();
debugPrint("Playing video from URL: ${studio.link}");
_videoPlayerController = VideoPlayerController.network(studio.link); _videoPlayerController = VideoPlayerController.network(studio.link);
try { try {
@ -92,7 +94,7 @@ class _StudioDetailsState extends State<StudioDetails> {
}); });
} }
} catch (e) { } catch (e) {
debugPrint("Error initializing video player: $e"); debugPrint("Error initializing video player: $e");
} }
} else { } else {
// Handle audio playback using MediaService // Handle audio playback using MediaService
@ -149,7 +151,9 @@ class _StudioDetailsState extends State<StudioDetails> {
appBarData: AppBarData( appBarData: AppBarData(
trailing: BookmarkButton( trailing: BookmarkButton(
itemId: state.studio.id, itemId: state.studio.id,
type: state.args?.type == 'video' ? 'video' : 'podcast', type: state.studio.type == 'video'
? 'video'
: 'podcast',
value: state.studio.marked, value: state.studio.marked,
onMarkChanged: (value) { onMarkChanged: (value) {
widget.pageData['onMarkChanged']( widget.pageData['onMarkChanged'](
@ -167,12 +171,12 @@ class _StudioDetailsState extends State<StudioDetails> {
height: d.size.height - d.padding.top - 56, height: d.size.height - d.padding.top - 56,
child: Column( child: Column(
children: [ children: [
if (state.args?.type == 'video') if (state.studio.type == 'video')
AspectRatio( AspectRatio(
aspectRatio: 16 / 9, aspectRatio: 16 / 9,
child: (_chewieController != null && child: (_chewieController != null &&
_chewieController! _chewieController!.videoPlayerController
.videoPlayerController.value.isInitialized) .value.isInitialized)
? Chewie(controller: _chewieController!) ? Chewie(controller: _chewieController!)
: Center( : Center(
child: Image.asset( child: Image.asset(
@ -182,6 +186,8 @@ class _StudioDetailsState extends State<StudioDetails> {
), ),
), ),
), ),
if (state.studio.type == 'podcast')
AudioPlayerWidget(podcast: state.studio),
Expanded( Expanded(
child: StudioDetailsWidget( child: StudioDetailsWidget(
onMarkChanged: (id, value) => widget onMarkChanged: (id, value) => widget

View File

@ -7,6 +7,7 @@ import 'package:didvan/services/media/media.dart';
import 'package:didvan/views/podcasts/studio_details/studio_details_state.dart'; import 'package:didvan/views/podcasts/studio_details/studio_details_state.dart';
import 'package:didvan/views/podcasts/studio_details/widgets/studio_details_widget.dart'; import 'package:didvan/views/podcasts/studio_details/widgets/studio_details_widget.dart';
import 'package:didvan/views/widgets/bookmark_button.dart'; import 'package:didvan/views/widgets/bookmark_button.dart';
import 'package:didvan/views/widgets/audio/audio_player_widget.dart';
import 'package:didvan/views/widgets/didvan/app_bar.dart'; import 'package:didvan/views/widgets/didvan/app_bar.dart';
import 'package:didvan/views/widgets/state_handlers/state_handler.dart'; import 'package:didvan/views/widgets/state_handlers/state_handler.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -42,17 +43,20 @@ class _StudioDetailsState extends State<StudioDetails> {
state: state, state: state,
onRetry: () => state.getStudioDetails(state.studio.id), onRetry: () => state.getStudioDetails(state.studio.id),
builder: (context, state) { builder: (context, state) {
// ignore: undefined_prefixed_name if (state.studio.type == 'video') {
ui.platformViewRegistry.registerViewFactory( debugPrint("Playing video from URL: ${state.studio.link}");
"video", // ignore: undefined_prefixed_name
(int viewId) => html.IFrameElement() ui.platformViewRegistry.registerViewFactory(
..allowFullscreen = true "video",
..src = Uri.dataFromString( (int viewId) => html.IFrameElement()
'<style>*{padding: 0 ; margin: 0; background: black;}</style>${state.studio.iframe!}', ..allowFullscreen = true
mimeType: 'text/html', ..src = Uri.dataFromString(
).toString() '<style>*{padding: 0 ; margin: 0; background: black;}</style>${state.studio.iframe!}',
..style.border = 'none', mimeType: 'text/html',
); ).toString()
..style.border = 'none',
);
}
return WillPopScope( return WillPopScope(
onWillPop: () async { onWillPop: () async {
if (MediaService.currentPodcast != null) { if (MediaService.currentPodcast != null) {
@ -70,7 +74,8 @@ class _StudioDetailsState extends State<StudioDetails> {
appBarData: AppBarData( appBarData: AppBarData(
trailing: BookmarkButton( trailing: BookmarkButton(
itemId: state.studio.id, itemId: state.studio.id,
type: 'video', type:
state.studio.type == 'video' ? 'video' : 'podcast',
value: state.studio.marked, value: state.studio.marked,
onMarkChanged: (value) { onMarkChanged: (value) {
widget.pageData['onMarkChanged']( widget.pageData['onMarkChanged'](
@ -89,13 +94,16 @@ class _StudioDetailsState extends State<StudioDetails> {
height: d.size.height - d.padding.top - 56, height: d.size.height - d.padding.top - 56,
child: Column( child: Column(
children: [ children: [
AspectRatio( if (state.studio.type == 'video')
aspectRatio: 16 / 9, AspectRatio(
child: HtmlElementView( aspectRatio: 16 / 9,
viewType: 'video', child: HtmlElementView(
key: ValueKey(state.studio.id), viewType: 'video',
key: ValueKey(state.studio.id),
),
), ),
), if (state.studio.type == 'podcast')
AudioPlayerWidget(podcast: state.studio),
Expanded( Expanded(
child: StudioDetailsWidget( child: StudioDetailsWidget(
onMarkChanged: (id, value) => widget onMarkChanged: (id, value) => widget

View File

@ -35,12 +35,12 @@ class StudioDetailsWidget extends StatelessWidget {
child: Consumer<StudioDetailsState>( child: Consumer<StudioDetailsState>(
builder: (context, state, child) { builder: (context, state, child) {
bool isVideo = state.studio.iframe != null; bool isVideo = state.studio.iframe != null;
double topOffset = isVideo
? ds.width * 9 / 16
: 400; // برای ویدیو aspect ratio، برای پادکست ارتفاع AudioPlayerWidget
return Container( return Container(
height: max( height: max(
ds.height - ds.height - topOffset - 72 - MediaQuery.of(context).padding.top,
ds.width * 9 / 16 -
72 -
MediaQuery.of(context).padding.top,
0), 0),
color: Theme.of(context).colorScheme.surface, color: Theme.of(context).colorScheme.surface,
child: Stack( child: Stack(

View File

@ -142,6 +142,7 @@ class _UserStoryViewerState extends State<UserStoryViewer>
_animationController.forward(); _animationController.forward();
break; break;
case MediaType.video: case MediaType.video:
debugPrint("Playing story video from URL: ${story.url}");
_videoController = _videoController =
VideoPlayerController.networkUrl(Uri.parse(story.url)); VideoPlayerController.networkUrl(Uri.parse(story.url));
_videoController!.initialize().then((_) { _videoController!.initialize().then((_) {
@ -167,6 +168,12 @@ class _UserStoryViewerState extends State<UserStoryViewer>
if (mounted) { if (mounted) {
_nextStory(); _nextStory();
} }
}).timeout(const Duration(seconds: 10), onTimeout: () {
// ignore: avoid_print
print("Video initialization timed out. Skipping.");
if (mounted) {
_nextStory();
}
}); });
break; break;
} }

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/app_links_linux-1.0.3/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/file_picker-8.3.7/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.3+2/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-6.0.0/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.2/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/gtk-2.1.0/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+2/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/package_info_plus-8.3.0/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/record_linux-0.7.2/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/sentry_flutter-8.14.2/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/

View File

@ -0,0 +1 @@
/Users/arytan/.pub-cache/hosted/pub.dev/wakelock_plus-1.3.1/

View File

@ -0,0 +1,35 @@
//
// Generated file. Do not edit.
//
// clang-format off
#include "generated_plugin_registrant.h"
#include <file_selector_linux/file_selector_plugin.h>
#include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h>
#include <gtk/gtk_plugin.h>
#include <record_linux/record_linux_plugin.h>
#include <sentry_flutter/sentry_flutter_plugin.h>
#include <url_launcher_linux/url_launcher_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin");
flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar);
g_autoptr(FlPluginRegistrar) gtk_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin");
gtk_plugin_register_with_registrar(gtk_registrar);
g_autoptr(FlPluginRegistrar) record_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "RecordLinuxPlugin");
record_linux_plugin_register_with_registrar(record_linux_registrar);
g_autoptr(FlPluginRegistrar) sentry_flutter_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "SentryFlutterPlugin");
sentry_flutter_plugin_register_with_registrar(sentry_flutter_registrar);
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
}

View File

@ -0,0 +1,15 @@
//
// Generated file. Do not edit.
//
// clang-format off
#ifndef GENERATED_PLUGIN_REGISTRANT_
#define GENERATED_PLUGIN_REGISTRANT_
#include <flutter_linux/flutter_linux.h>
// Registers Flutter plugins.
void fl_register_plugins(FlPluginRegistry* registry);
#endif // GENERATED_PLUGIN_REGISTRANT_

View File

@ -0,0 +1,29 @@
#
# Generated file, do not edit.
#
list(APPEND FLUTTER_PLUGIN_LIST
file_selector_linux
flutter_secure_storage_linux
gtk
record_linux
sentry_flutter
url_launcher_linux
)
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

View File

@ -0,0 +1,52 @@
//
// Generated file. Do not edit.
//
import FlutterMacOS
import Foundation
import app_links
import audio_session
import device_info_plus
import file_picker
import file_selector_macos
import firebase_core
import firebase_messaging
import flutter_inappwebview_macos
import flutter_local_notifications
import flutter_secure_storage_macos
import just_audio
import package_info_plus
import path_provider_foundation
import record_darwin
import rive_common
import sentry_flutter
import sqflite_darwin
import url_launcher_macos
import video_player_avfoundation
import wakelock_plus
import webview_flutter_wkwebview
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
AudioSessionPlugin.register(with: registry.registrar(forPlugin: "AudioSessionPlugin"))
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin"))
FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin"))
FLTFirebaseMessagingPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseMessagingPlugin"))
InAppWebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "InAppWebViewFlutterPlugin"))
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin"))
JustAudioPlugin.register(with: registry.registrar(forPlugin: "JustAudioPlugin"))
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
RecordPlugin.register(with: registry.registrar(forPlugin: "RecordPlugin"))
RivePlugin.register(with: registry.registrar(forPlugin: "RivePlugin"))
SentryFlutterPlugin.register(with: registry.registrar(forPlugin: "SentryFlutterPlugin"))
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
FVPVideoPlayerPlugin.register(with: registry.registrar(forPlugin: "FVPVideoPlayerPlugin"))
WakelockPlusMacosPlugin.register(with: registry.registrar(forPlugin: "WakelockPlusMacosPlugin"))
WebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "WebViewFlutterPlugin"))
}

View File

@ -0,0 +1,11 @@
// This is a generated file; do not edit or check into version control.
FLUTTER_ROOT=/Users/arytan/Desktop/Dev/Sdks/flutter
FLUTTER_APPLICATION_PATH=/Users/arytan/Desktop/Flutter Projects/didvan-app
COCOAPODS_PARALLEL_CODE_SIGN=true
FLUTTER_BUILD_DIR=build
FLUTTER_BUILD_NAME=4.0.1
FLUTTER_BUILD_NUMBER=6000
DART_OBFUSCATION=false
TRACK_WIDGET_CREATION=true
TREE_SHAKE_ICONS=false
PACKAGE_CONFIG=.dart_tool/package_config.json

View File

@ -0,0 +1,12 @@
#!/bin/sh
# This is a generated file; do not edit or check into version control.
export "FLUTTER_ROOT=/Users/arytan/Desktop/Dev/Sdks/flutter"
export "FLUTTER_APPLICATION_PATH=/Users/arytan/Desktop/Flutter Projects/didvan-app"
export "COCOAPODS_PARALLEL_CODE_SIGN=true"
export "FLUTTER_BUILD_DIR=build"
export "FLUTTER_BUILD_NAME=4.0.1"
export "FLUTTER_BUILD_NUMBER=6000"
export "DART_OBFUSCATION=false"
export "TRACK_WIDGET_CREATION=true"
export "TREE_SHAKE_ICONS=false"
export "PACKAGE_CONFIG=.dart_tool/package_config.json"

42
macos/Podfile Normal file
View File

@ -0,0 +1,42 @@
platform :osx, '10.14'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"
end
File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT\=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""
end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
flutter_macos_podfile_setup
target 'Runner' do
use_frameworks!
flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
target 'RunnerTests' do
inherit! :search_paths
end
end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_macos_build_settings(target)
end
end

View File

@ -1670,34 +1670,34 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: webview_flutter name: webview_flutter
sha256: caf0f5a1012aa3c2d33c4215adc72dc1194bb59a2d3ed901f457965626805e66 sha256: c3e4fe614b1c814950ad07186007eff2f2e5dd2935eba7b9a9a1af8e5885f1ba
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.11.0" version: "4.13.0"
webview_flutter_android: webview_flutter_android:
dependency: transitive dependency: transitive
description: description:
name: webview_flutter_android name: webview_flutter_android
sha256: "5c3b6f992d123084903ec091b84f021c413a92a9af49038e4564a1b26c8452cf" sha256: "9a25f6b4313978ba1c2cda03a242eea17848174912cfb4d2d8ee84a556f248e3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.4.1" version: "4.10.1"
webview_flutter_platform_interface: webview_flutter_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: webview_flutter_platform_interface name: webview_flutter_platform_interface
sha256: "18b1640839cf6546784a524c72aded5b6e86b23e7167dc2311cc96f7658b64bd" sha256: "63d26ee3aca7256a83ccb576a50272edd7cfc80573a4305caa98985feb493ee0"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.11.0" version: "2.14.0"
webview_flutter_wkwebview: webview_flutter_wkwebview:
dependency: transitive dependency: transitive
description: description:
name: webview_flutter_wkwebview name: webview_flutter_wkwebview
sha256: c9f9be526fa0d3347374ceaa05c4b3acb85f4f112abd62f7d74b7d301fa515ff sha256: fb46db8216131a3e55bcf44040ca808423539bc6732e7ed34fb6d8044e3d512f
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.20.0" version: "3.23.0"
win32: win32:
dependency: transitive dependency: transitive
description: description:

View File

@ -61,7 +61,7 @@ dependencies:
# image_cropper: ^1.5.0 # image_cropper: ^1.5.0
firebase_core: ^3.1.0 firebase_core: ^3.1.0
firebase_messaging: ^15.0.1 firebase_messaging: ^15.0.1
webview_flutter: ^4.8.0 webview_flutter: ^4.13.0
expandable_bottom_sheet: ^1.1.1+1 expandable_bottom_sheet: ^1.1.1+1
permission_handler: ^11.0.0 permission_handler: ^11.0.0
# better_player: # better_player: