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.
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._
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:
dependencies:
webview_flutter: ^0.3.0
import 'package:ytview/ytview.dart';
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.
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 '