Youtube_player_flutter: konflik dengan tampilan web_flutter

Dibuat pada 5 Mei 2019  ·  23Komentar  ·  Sumber: sarbagyastha/youtube_player_flutter

ketika saya memasukkan webview_flutter dan youtube_player_flutter , aplikasi akan macet saat dimulai dengan peringatan dan kesalahan berikut

objc[44664]: Class FLTCookieManager is implemented in both /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/ytview.framework/ytview (0x10c3d8400) and /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/webview_flutter.framework/webview_flutter (0x10c3bb250). One of the two will be used. Which one is undefined.
objc[44664]: Class FLTWKNavigationDelegate is implemented in both /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/ytview.framework/ytview (0x10c3d8450) and /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/webview_flutter.framework/webview_flutter (0x10c3bb2a0). One of the two will be used. Which one is undefined.
objc[44664]: Class FLTWebViewFactory is implemented in both /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/ytview.framework/ytview (0x10c3d84a0) and /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/webview_flutter.framework/webview_flutter (0x10c3bb2f0). One of the two will be used. Which one is undefined.
objc[44664]: Class FLTWebViewController is implemented in both /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/ytview.framework/ytview (0x10c3d84c8) and /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/webview_flutter.framework/webview_flutter (0x10c3bb318). One of the two will be used. Which one is undefined.
objc[44664]: Class FLTJavaScriptChannel is implemented in both /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/ytview.framework/ytview (0x10c3d8540) and /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/webview_flutter.framework/webview_flutter (0x10c3bb390). One of the two will be used. Which one is undefined.
objc[44664]: Class FLTWebViewFlutterPlugin is implemented in both /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/ytview.framework/ytview (0x10c3d85b8) and /Users/ace/Library/Developer/CoreSimulator/Devices/B18AEF78-2279-4A87-AF9C-EC10E395036D/data/Containers/Bundle/Application/7210DA0C-0DBD-40B3-82E4-83D52BA8ADF7/Runner.app/Frameworks/webview_flutter.framework/webview_flutter (0x10c3bb458). One of the two will be used. Which one is undefined.
2019-05-04 09:20:00.568482+0700 Runner[44664:362412] libMobileGestalt MobileGestalt.c:890: MGIsDeviceOneOfType is not supported on this platform.
2019-05-04 09:20:00.844000+0700 Runner[44664:362412] You've implemented -[<UIApplicationDelegate> application:performFetchWithCompletionHandler:], but you still need to add "fetch" to the list of your supported UIBackgroundModes in your Info.plist.
2019-05-04 09:20:00.844196+0700 Runner[44664:362412] You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
2019-05-04 09:20:00.845692+0700 Runner[44664:362412] *** Assertion failure in -[FlutterEngine registrarForPlugin:], ../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine.mm:560
2019-05-04 09:20:00.917563+0700 Runner[44664:362412] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Duplicate plugin key: FLTWebViewFlutterPlugin'
*** First throw call stack:
(
    0   CoreFoundation                      0x000000010d4296fb __exceptionPreprocess + 331
    1   libobjc.A.dylib                     0x000000010c9cdac5 objc_exception_throw + 48
    2   CoreFoundation                      0x000000010d429482 +[NSException raise:format:arguments:] + 98
    3   Foundation                          0x000000010c41b927 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 194
    4   Flutter                             0x000000010a5a3d6b -[FlutterEngine registrarForPlugin:] + 269
    5   Runner                              0x000000010a29be1e +[GeneratedPluginRegistrant registerWithRegistry:] + 174
    6   Runner                              0x000000010a29bf18 $s6Runner11AppDelegateC11application_29didFinishLaunchingWithOptionsSbSo13UIApplicationC_SDySo0j6LaunchI3KeyaypGSgtF + 168
    7   Runner                              0x000000010a29c254 $s6Runner11AppDelegateC11application_29didFinishLaunchingWithOptionsSbSo13UIApplicationC_SDySo0j6LaunchI3KeyaypGSgtFTo + 196
    8   UIKitCore                           0x0000000116d3b311 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 280
    9   UIKitCore                           0x0000000116d3ccad -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 3932
    10  UIKitCore                           0x0000000116d420c6 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1617
    11  UIKitCore                           0x00000001165876d6 __111-[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:]_block_invoke + 904
    12  UIKitCore                           0x000000011658ffce +[_UICanvas _enqueuePostSettingUpdateTransactionBlock:] + 153
    13  UIKitCore                           0x00000001165872ec -[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:] + 236
    14  UIKitCore                           0x0000000116587c48 -[__UICanvasLifecycleMonitor_Compatability activateEventsOnly:withContext:completion:] + 1091
    15  UIKitCore                           0x0000000116585fba __82-[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:]_block_invoke + 782
    16  UIKitCore                           0x0000000116585c71 -[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:] + 433
    17  UIKitCore                           0x000000011658a9b6 __125-[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:]_block_invoke + 576
    18  UIKitCore                           0x000000011658b610 _performActionsWithDelayForTransitionContext + 100
    19  UIKitCore                           0x000000011658a71d -[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:] + 223
    20  UIKitCore                           0x000000011658f6d0 -[_UICanvas scene:didUpdateWithDiff:transitionContext:completion:] + 392
    21  UIKitCore                           0x0000000116d409a8 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 514
    22  UIKitCore                           0x00000001168f7dfa -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 361
    23  FrontBoardServices                  0x0000000118d71125 -[FBSSceneImpl _didCreateWithTransitionContext:completion:] + 448
    24  FrontBoardServices                  0x0000000118d7aed6 __56-[FBSWorkspace client:handleCreateScene:withCompletion:]_block_invoke_2 + 283
    25  FrontBoardServices                  0x0000000118d7a700 __40-[FBSWorkspace _performDelegateCallOut:]_block_invoke + 53
    26  libdispatch.dylib                   0x0000000110db5db5 _dispatch_client_callout + 8
    27  libdispatch.dylib                   0x0000000110db92ba _dispatch_block_invoke_direct + 300
    28  FrontBoardServices                  0x0000000118dac146 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 30
    29  FrontBoardServices                  0x0000000118dabdfe -[FBSSerialQueue _performNext] + 451
    30  FrontBoardServices                  0x0000000118dac393 -[FBSSerialQueue _performNextFromRunLoopSource] + 42
    31  CoreFoundation                      0x000000010d390be1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    32  CoreFoundation                      0x000000010d390463 __CFRunLoopDoSources0 + 243
    33  CoreFoundation                      0x000000010d38ab1f __CFRunLoopRun + 1231
    34  CoreFoundation                      0x000000010d38a302 CFRunLoopRunSpecific + 626
    35  GraphicsServices                    0x0000000111ba92fe GSEventRunModal + 65
    36  UIKitCore                           0x0000000116d43ba2 UIApplicationMain + 140
    37  Runner                              0x000000010a29c3f8 main + 72
    38  libdyld.dylib                       0x0000000110e2a541 start + 1
    39  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Saya harus menghapus webview_flutter untuk dapat menjalankan aplikasi.

Saya hanya menguji masalah ini di iOS menggunakan simulator.

fixed

Komentar yang paling membantu

Plugin pemutar YouTube menggunakan plugin lain webview_media dan yang menggunakan plugin webview_flutter, jadi gunakan impor berikut, kesalahan akan hilang

impor ' paket:webview_media/webview_flutter.dart '

Semua 23 komentar

Masalah terkait terjadi di Android, di mana pengecualian berikut dilemparkan dan aplikasi keluar sebelum render bingkai pertama.
E/AndroidRuntime( 6955): java.lang.RuntimeException: Unable to start activity ComponentInfo{my.app/my.app.MainActivity}: java.lang.IllegalStateException: Plugin key io.flutter.plugins.webviewflutter.WebViewFlutterPlugin is already in use

Maaf untuk respon yang terlambat , tapi plugin ini memiliki plugin webview built-in, jadi tidak perlu menambahkan plugin webview secara terpisah.

@sarbagyastha Tapi aplikasi saya juga menggunakan tampilan web secara langsung. Bisakah itu menggunakan versi bercabang, apakah itu akan terus diperbarui dengan versi terbaru dari webview_flutter? Bisakah perubahan pada garpu webview_flutter plugin ini digabungkan ke hulu sehingga tidak lagi memerlukan garpu?

D8: Program type already present: io.flutter.plugins.webviewflutter.BuildConfig

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
> com.android.build.api.transform.TransformException: Error while generating the main dex list:
  Error while merging dex archives: 
  Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
  Program type already present: io.flutter.plugins.webviewflutter.BuildConfig

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 10s
Finished with error: Gradle task assembleDebug failed with exit code 1

Saya menggunakan webview_flutter: ^0.3.6 di aplikasi saya tetapi ketika memiliki keduanya memberikan kesalahan di atas. dan ketika saya menghapus webview_flutter: ^0.3.6 itu memberikan kesalahan karena aplikasi saya membutuhkannya.

@GeertJohan ya versi bercabang akan terus diperbarui untuk pembaruan besar dan peningkatan kinerja. Ya, itu bisa digabung tetapi butuh waktu lama untuk digabung, saat ini ada banyak PR webview_flutter yang tertunda dalam pelacakan proyek.

@Xoshbin , akan memperbarui plugin malam ini, di mana akses ke tampilan web bawaan akan diekspor.

@sarbagyastha Terima kasih saya akan menunggu untuk itu :)

Versi 1.1.1 membahas masalah tersebut.

Ini belum berfungsi untuk saya, saya menghapus tampilan web dari dependensi itu masih memberikan kesalahan, dan ketika saya menambahkannya masih memberikan kesalahan yang sama di atas.

apakah Anda melakukan pembangunan penuh?
Coba juga jalankan flutter clean

Ya, saya melakukan pembuatan penuh, dan flutter clean dengan dan tanpa webview_flutter

Juga, Jika Anda menggunakan Android Studio, coba batalkan cache. Atau lakukan gradlew clean .
Ini mungkin karena sisa plugin webview_flutter.

Apakah saya harus menyimpan webview_flutter di dependensi atau menghapusnya?

Saya melakukan itu juga, masih tidak berhasil!

Saya dapat menggunakan WebView bawaan menggunakan pernyataan impor ini

import 'package:ytview/ytview.dart';

Saya pikir ini harus disebutkan dalam file Readme

@Xoshbin @3ace Anda harus menghapus webview_flutter. Dan dengan pembaruan terbaru
import 'package:youtube_player_flutter/youtube_player_flutter.dart';
termasuk widget WebView.
Itu disebutkan di bagian Catatan dari readme.

@sarbagyastha Terima kasih sudah berfungsi sekarang.

Bisakah Anda membuat catatan besar tentang ini di readme?

Dan juga tambahkan impor seperti yang ditentukan oleh @3ace ?

impor ' paket:ytview/ytview.dart ';

Ini adalah masalah yang sangat sulit untuk di-debug.

Mungkin benar-benar menambahkan tautan ke halaman ini di readme?

Saya menemukan bahwa teks yang ada tidak terlalu jelas, terutama untuk seseorang yang baru mengenal Flutter.

Teks yang ada:
_Plugin menyebabkan konflik dengan plugin webview_flutter karena plugin ini sudah berisi tampilan web sebagai ketergantungannya. Jadi tidak perlu menambahkan webview_flutter secara terpisah. Anda dapat menggunakan WebView dari plugin itu sendiri._

Teks proposal:

Konflik dengan tampilan web

Anda mungkin mendapatkan pengecualian seperti:
program type already present: io.flutter.plugins.webviewflutter
atau
Plugin key io.flutter.plugins.webviewflutter.WebViewFlutterPlugin is already in use

Plugin ini menyebabkan konflik dengan plugin webview_flutter karena plugin ini sudah berisi webview sebagai ketergantungannya. Jadi tidak perlu menambahkan webview_flutter secara terpisah. Anda dapat menggunakan WebView dari plugin itu sendiri.

Ini berarti:

  1. Anda menghapus/mengomentari
dependencies:
  webview_flutter: ^0.3.0
  1. Anda menggunakan import 'package:ytview/ytview.dart';

    3. opsional, lihat tiket ini untuk informasi lebih lanjut

Bagaimana teks ini terdengar bagi Anda?

Terima kasih atas kerja bagusnya, omong-omong!

Terima kasih! Kerja bagus :smile_cat:

Ketika saya mengimpor
import ' package:youtube_player_flutter/youtube_player_flutter.dart ';
dan hapus "webview_flutter: 0.3.19+7", instal semua paket dan bahkan flutter clean - tidak berfungsi.

Itu menimbulkan kesalahan bahwa - Metode "WebView" tidak ditentukan.

Plugin pemutar YouTube menggunakan plugin lain webview_media dan yang menggunakan plugin webview_flutter, jadi gunakan impor berikut, kesalahan akan hilang

impor ' paket:webview_media/webview_flutter.dart '

impor ' paket:webview_media/webview_flutter.dart '

Ini adalah Jawaban yang paling benar.

Saya memiliki masalah yang sama menggunakan webview_flutter dan youtube_player_flutter. Saya menggunakan solusi oleh @srinivasanrsp. Berhasil.

1) Hapus paket webview_flutter dari file pubspec.yaml
2) Gunakan import ' package:webview_media/webview_flutter.dart ';

Ini bekerja dengan baik.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat