flutter / flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond
https://flutter.dev
BSD 3-Clause "New" or "Revised" License
163.08k stars 26.83k forks source link

Opt-in to Flutter deep linking does not disable listening to deep links via plugins #119938

Open dshukertjr opened 1 year ago

dshukertjr commented 1 year ago

In the Migrating from plugin-based deep linking section of the Deep Linking docs, it implies adding FlutterDeepLinkingEnabled to Info.plist or flutter_deeplinking_enabled to AndroidManifest.xml, respectively will disable deep linking using plugins. However, when I actually try it out, the plugin still can listen to incoming deeplinks.

Not sure if the behavior is correct and the docs is incorrect or vice versa, but wanted to report it as it seemed inconsistent.

Steps to Reproduce

  1. Create a blank Flutter app
  2. Configure deep links on according to the steps on official Flutter Deep linking manual here
  3. Add app_links: 3.4.1 to pubspec.yaml
  4. Add app links code in the app

    final _appLinks = AppLinks();
    
    final uri = await _appLinks.getInitialAppLink();
    
    _linkSubscription = _appLinks.uriLinkStream.listen((uri) {
        print(uri);
    });
    final uri = await _appLinks.getLatestAppLink();
  5. Open the app via the deep link and observe that app links was able to pick up the deep links as well.

Expected results:

App links does not react to the deep link.

Actual results:

Flutter's native Deep link and app link both reacts to the deep link.

Code sample ```dart import 'package:app_links/app_links.dart'; import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return const MaterialApp( title: 'Flutter Demo', home: HomePage(), ); } } class HomePage extends StatefulWidget { const HomePage({super.key}); @override State createState() => _HomePageState(); } class _HomePageState extends State { @override void initState() { _initDeeplinks(); super.initState(); } Future _initDeeplinks() async { final appLinks = AppLinks(); final uri = await appLinks.getInitialAppLink(); print(uri); appLinks.uriLinkStream.listen((uri) { print(uri); }); } @override Widget build(BuildContext context) { return const Scaffold(); } } ```
Logs ``` ``` ``` export LIBRARY_KEXT_INSTALL_PATH\=/Library/Extensions export LIBRARY_SEARCH_PATHS\=/Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator\ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator\ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.5.sdk/usr/lib/s wift export LINKER_DISPLAYS_MANGLED_NAMES\=NO export LINK_FILE_LIST_normal_arm64\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build /Intermediates.noindex/Runner.build/Debug-iphonesimulator/Runner.build/Objects-normal/arm64/Runner.LinkFileList export LINK_WITH_STANDARD_LIBRARIES\=YES export LLVM_TARGET_TRIPLE_OS_VERSION\=ios11.0 export LLVM_TARGET_TRIPLE_SUFFIX\=-simulator export LLVM_TARGET_TRIPLE_VENDOR\=apple export LOCALIZATION_EXPORT_SUPPORTED\=YES export LOCALIZED_RESOURCES_FOLDER_PATH\=Runner.app/en.lproj export LOCALIZED_STRING_MACRO_NAMES\=NSLocalizedString\ CFCopyLocalizedString export LOCALIZED_STRING_SWIFTUI_SUPPORT\=YES export LOCAL_ADMIN_APPS_DIR\=/Applications/Utilities export LOCAL_APPS_DIR\=/Applications export LOCAL_DEVELOPER_DIR\=/Library/Developer export LOCAL_LIBRARY_DIR\=/Library export LOCROOT\=/Users/tylershukert/Desktop/bug/ios export LOCSYMROOT\=/Users/tylershukert/Desktop/bug/ios export MACH_O_TYPE\=mh_execute export MAC_OS_X_PRODUCT_BUILD_VERSION\=21F79 export MAC_OS_X_VERSION_ACTUAL\=120400 export MAC_OS_X_VERSION_MAJOR\=120000 export MAC_OS_X_VERSION_MINOR\=120400 export METAL_LIBRARY_FILE_BASE\=default export METAL_LIBRARY_OUTPUT_DIR\=/Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app export MODULES_FOLDER_PATH\=Runner.app/Modules export MODULE_CACHE_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/ModuleCache.noindex export MTL_ENABLE_DEBUG_INFO\=YES export NATIVE_ARCH\=arm64 export NATIVE_ARCH_32_BIT\=arm export NATIVE_ARCH_64_BIT\=arm64 export NATIVE_ARCH_ACTUAL\=arm64 export NO_COMMON\=YES export OBJC_ABI_VERSION\=2 export OBJECT_FILE_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediat es.noindex/Runner.build/Debug-iphonesimulator/Runner.build/Objects export OBJECT_FILE_DIR_normal\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Inte rmediates.noindex/Runner.build/Debug-iphonesimulator/Runner.build/Objects-normal export OBJROOT\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates.noind ex export ONLY_ACTIVE_ARCH\=YES export OS\=MACOS export OSAC\=/usr/bin/osacompile export OTHER_LDFLAGS\=\ -framework\ \"app_links\" export OTHER_SWIFT_FLAGS\=\ -D\ COCOAPODS export PACKAGE_CONFIG\=/Users/tylershukert/Desktop/bug/.dart_tool/package_config.json export PACKAGE_TYPE\=com.apple.package-type.wrapper.application export PASCAL_STRINGS\=YES export PATH\=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/ Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault .xctoolchain/usr/libexec:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/usr/bin:/Applications/X code.app/Contents/Developer/Platforms/iPhoneSimulator.platform/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Platfo rms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/D eveloper/usr/local/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/local /bin:/Users/tylershukert/.nvm/versions/node/v18.6.0/bin:/Users/tylershukert/development/flutter/bin:/opt/homebrew/bin:/opt/hom ebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Library/Apple/usr/bin:/Library/Frameworks/Mono.fram ework/Versions/Current/Commands:/Users/tylershukert/.composer/vendor/bin:/Users/tylershukert/.pub-cache/bin export PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES\=/usr/include\ /usr/local/include\ /System/Library/Frameworks\ /System/Library/PrivateFrameworks\ /Applications/Xcode.app/Contents/Developer/Headers\ /Applications/Xcode.app/Contents/Developer/SDKs\ /Applications/Xcode.app/Contents/Developer/Platforms export PBDEVELOPMENTPLIST_PATH\=Runner.app/pbdevelopment.plist export PER_ARCH_OBJECT_FILE_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/In termediates.noindex/Runner.build/Debug-iphonesimulator/Runner.build/Objects-normal/undefined_arch export PER_VARIANT_OBJECT_FILE_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build /Intermediates.noindex/Runner.build/Debug-iphonesimulator/Runner.build/Objects-normal export PKGINFO_FILE_PATH\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermedi ates.noindex/Runner.build/Debug-iphonesimulator/Runner.build/PkgInfo export PKGINFO_PATH\=Runner.app/PkgInfo export PLATFORM_DEVELOPER_APPLICATIONS_DIR\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/A pplications export PLATFORM_DEVELOPER_BIN_DIR\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin export PLATFORM_DEVELOPER_LIBRARY_DIR\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Librar y export PLATFORM_DEVELOPER_SDK_DIR\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs export PLATFORM_DEVELOPER_TOOLS_DIR\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Tools export PLATFORM_DEVELOPER_USR_DIR\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr export PLATFORM_DIR\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform export PLATFORM_DISPLAY_NAME\=iOS\ Simulator export PLATFORM_FAMILY_NAME\=iOS export PLATFORM_NAME\=iphonesimulator export PLATFORM_PREFERRED_ARCH\=x86_64 export PLATFORM_PRODUCT_BUILD_VERSION\=19F64 export PLIST_FILE_OUTPUT_FORMAT\=binary export PLUGINS_FOLDER_PATH\=Runner.app/PlugIns export PODS_BUILD_DIR\=/Users/tylershukert/Desktop/bug/build/ios export PODS_CONFIGURATION_BUILD_DIR\=/Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator export PODS_PODFILE_DIR_PATH\=/Users/tylershukert/Desktop/bug/ios/. export PODS_ROOT\=/Users/tylershukert/Desktop/bug/ios/Pods export PODS_XCFRAMEWORKS_BUILD_DIR\=/Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/XCFrameworkIntermediates export PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR\=YES export PRECOMP_DESTINATION_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Int ermediates.noindex/Runner.build/Debug-iphonesimulator/Runner.build/PrefixHeaders export PRESERVE_DEAD_CODE_INITS_AND_TERMS\=NO export PRIVATE_HEADERS_FOLDER_PATH\=Runner.app/PrivateHeaders export PRODUCT_BUNDLE_IDENTIFIER\=com.example.bug export PRODUCT_BUNDLE_PACKAGE_TYPE\=APPL export PRODUCT_MODULE_NAME\=Runner export PRODUCT_NAME\=Runner export PRODUCT_SETTINGS_PATH\=/Users/tylershukert/Desktop/bug/ios/Runner/Info.plist export PRODUCT_TYPE\=com.apple.product-type.application export PROFILING_CODE\=NO export PROJECT\=Runner export PROJECT_DERIVED_FILE_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/In termediates.noindex/Runner.build/DerivedSources export PROJECT_DIR\=/Users/tylershukert/Desktop/bug/ios export PROJECT_FILE_PATH\=/Users/tylershukert/Desktop/bug/ios/Runner.xcodeproj export PROJECT_NAME\=Runner export PROJECT_TEMP_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermedia tes.noindex/Runner.build export PROJECT_TEMP_ROOT\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermedi ates.noindex export PUBLIC_HEADERS_FOLDER_PATH\=Runner.app/Headers export RECURSIVE_SEARCH_PATHS_FOLLOW_SYMLINKS\=YES export REMOVE_CVS_FROM_RESOURCES\=YES export REMOVE_GIT_FROM_RESOURCES\=YES export REMOVE_HEADERS_FROM_EMBEDDED_BUNDLES\=YES export REMOVE_HG_FROM_RESOURCES\=YES export REMOVE_SVN_FROM_RESOURCES\=YES export REZ_COLLECTOR_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermedi ates.noindex/Runner.build/Debug-iphonesimulator/Runner.build/ResourceManagerResources export REZ_OBJECTS_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediat es.noindex/Runner.build/Debug-iphonesimulator/Runner.build/ResourceManagerResources/Objects export REZ_SEARCH_PATHS\=/Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator\ export SCAN_ALL_SOURCE_FILES_FOR_INCLUDES\=NO export SCRIPTS_FOLDER_PATH\=Runner.app/Scripts export SCRIPT_INPUT_FILE_COUNT\=0 export SCRIPT_INPUT_FILE_LIST_COUNT\=0 export SCRIPT_OUTPUT_FILE_COUNT\=0 export SCRIPT_OUTPUT_FILE_LIST_COUNT\=0 export SCRIPT_OUTPUT_STREAM_FILE\=/var/folders/fr/v8nhg9cd13d2fmv5cq7c_7400000gn/T/flutter_tools.RgRAG6/flutter_ios_build_temp_dirtgm YJ0/pipe_to_stdout export SDKROOT\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.5.sdk export SDK_DIR\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.5.sdk export SDK_DIR_iphonesimulator\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSi mulator15.5.sdk export SDK_DIR_iphonesimulator15_5\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPho neSimulator15.5.sdk export SDK_NAME\=iphonesimulator15.5 export SDK_NAMES\=iphonesimulator15.5 export SDK_PRODUCT_BUILD_VERSION\=19F64 export SDK_VERSION\=15.5 export SDK_VERSION_ACTUAL\=150500 export SDK_VERSION_MAJOR\=150000 export SDK_VERSION_MINOR\=150500 export SED\=/usr/bin/sed export SEPARATE_STRIP\=NO export SEPARATE_SYMBOL_EDIT\=NO export SET_DIR_MODE_OWNER_GROUP\=YES export SET_FILE_MODE_OWNER_GROUP\=NO export SHALLOW_BUNDLE\=YES export SHALLOW_BUNDLE_TRIPLE\=ios-simulator export SHALLOW_BUNDLE_ios_macabi\=NO export SHALLOW_BUNDLE_macos\=NO export SHARED_DERIVED_FILE_DIR\=/Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/DerivedSources export SHARED_FRAMEWORKS_FOLDER_PATH\=Runner.app/SharedFrameworks export SHARED_PRECOMPS_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Interme diates.noindex/PrecompiledHeaders export SHARED_SUPPORT_FOLDER_PATH\=Runner.app/SharedSupport export SKIP_INSTALL\=NO export SOURCE_ROOT\=/Users/tylershukert/Desktop/bug/ios export SRCROOT\=/Users/tylershukert/Desktop/bug/ios export STRINGSDATA_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediat es.noindex/Runner.build/Debug-iphonesimulator/Runner.build/Objects-normal/undefined_arch export STRINGSDATA_ROOT\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermedia tes.noindex/Runner.build/Debug-iphonesimulator/Runner.build export STRINGS_FILE_INFOPLIST_RENAME\=YES export STRINGS_FILE_OUTPUT_ENCODING\=binary export STRIP_BITCODE_FROM_COPIED_FILES\=NO export STRIP_INSTALLED_PRODUCT\=NO export STRIP_STYLE\=all export STRIP_SWIFT_SYMBOLS\=YES export SUPPORTED_DEVICE_FAMILIES\=1,2 export SUPPORTED_PLATFORMS\=iphoneos\ iphonesimulator export SUPPORTS_TEXT_BASED_API\=NO export SWIFT_EMIT_LOC_STRINGS\=NO export SWIFT_OBJC_BRIDGING_HEADER\=Runner/Runner-Bridging-Header.h export SWIFT_OPTIMIZATION_LEVEL\=-Onone export SWIFT_PLATFORM_TARGET_PREFIX\=ios export SWIFT_RESPONSE_FILE_PATH_normal_arm64\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyan ymim/Build/Intermediates.noindex/Runner.build/Debug-iphonesimulator/Runner.build/Objects-normal/arm64/Runner.SwiftFileList export SWIFT_VERSION\=5.0 export SYMROOT\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Products export SYSTEM_ADMIN_APPS_DIR\=/Applications/Utilities export SYSTEM_APPS_DIR\=/Applications export SYSTEM_CORE_SERVICES_DIR\=/System/Library/CoreServices export SYSTEM_DEMOS_DIR\=/Applications/Extras export SYSTEM_DEVELOPER_APPS_DIR\=/Applications/Xcode.app/Contents/Developer/Applications export SYSTEM_DEVELOPER_BIN_DIR\=/Applications/Xcode.app/Contents/Developer/usr/bin export SYSTEM_DEVELOPER_DEMOS_DIR\=/Applications/Xcode.app/Contents/Developer/Applications/Utilities/Built\ Examples export SYSTEM_DEVELOPER_DIR\=/Applications/Xcode.app/Contents/Developer export SYSTEM_DEVELOPER_DOC_DIR\=/Applications/Xcode.app/Contents/Developer/ADC\ Reference\ Library export SYSTEM_DEVELOPER_GRAPHICS_TOOLS_DIR\=/Applications/Xcode.app/Contents/Developer/Applications/Graphics\ Tools export SYSTEM_DEVELOPER_JAVA_TOOLS_DIR\=/Applications/Xcode.app/Contents/Developer/Applications/Java\ Tools export SYSTEM_DEVELOPER_PERFORMANCE_TOOLS_DIR\=/Applications/Xcode.app/Contents/Developer/Applications/Performance\ Tools export SYSTEM_DEVELOPER_RELEASENOTES_DIR\=/Applications/Xcode.app/Contents/Developer/ADC\ Reference\ Library/releasenotes export SYSTEM_DEVELOPER_TOOLS\=/Applications/Xcode.app/Contents/Developer/Tools export SYSTEM_DEVELOPER_TOOLS_DOC_DIR\=/Applications/Xcode.app/Contents/Developer/ADC\ Reference\ Library/documentation/DeveloperTools export SYSTEM_DEVELOPER_TOOLS_RELEASENOTES_DIR\=/Applications/Xcode.app/Contents/Developer/ADC\ Reference\ Library/releasenotes/DeveloperTools export SYSTEM_DEVELOPER_USR_DIR\=/Applications/Xcode.app/Contents/Developer/usr export SYSTEM_DEVELOPER_UTILITIES_DIR\=/Applications/Xcode.app/Contents/Developer/Applications/Utilities export SYSTEM_DEXT_INSTALL_PATH\=/System/Library/DriverExtensions export SYSTEM_DOCUMENTATION_DIR\=/Library/Documentation export SYSTEM_EXTENSIONS_FOLDER_PATH\=Runner.app/SystemExtensions export SYSTEM_EXTENSIONS_FOLDER_PATH_SHALLOW_BUNDLE_NO\=Runner.app/Library/SystemExtensions export SYSTEM_EXTENSIONS_FOLDER_PATH_SHALLOW_BUNDLE_YES\=Runner.app/SystemExtensions export SYSTEM_KEXT_INSTALL_PATH\=/System/Library/Extensions export SYSTEM_LIBRARY_DIR\=/System/Library export TAPI_ENABLE_PROJECT_HEADERS\=NO export TAPI_VERIFY_MODE\=ErrorsOnly export TARGETED_DEVICE_FAMILY\=1,2 export TARGETNAME\=Runner export TARGET_BUILD_DIR\=/Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator export TARGET_DEVICE_IDENTIFIER\=EE8C7BBC-5C01-46B7-984E-6F5AF58D3800 export TARGET_DEVICE_MODEL\=iPhone14,3 export TARGET_DEVICE_OS_VERSION\=15.5 export TARGET_DEVICE_PLATFORM_NAME\=iphonesimulator export TARGET_NAME\=Runner export TARGET_TEMP_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediat es.noindex/Runner.build/Debug-iphonesimulator/Runner.build export TEMP_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates.noin dex/Runner.build/Debug-iphonesimulator/Runner.build export TEMP_FILES_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediate s.noindex/Runner.build/Debug-iphonesimulator/Runner.build export TEMP_FILE_DIR\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates .noindex/Runner.build/Debug-iphonesimulator/Runner.build export TEMP_ROOT\=/Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates.noi ndex export TEST_FRAMEWORK_SEARCH_PATHS\=\ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks\ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.5.sdk/Developer /Library/Frameworks export TEST_LIBRARY_SEARCH_PATHS\=\ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/lib export TOOLCHAINS\=com.apple.dt.toolchain.XcodeDefault export TOOLCHAIN_DIR\=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain export TRACK_WIDGET_CREATION\=true export TREAT_MISSING_BASELINES_AS_TEST_FAILURES\=NO export TREE_SHAKE_ICONS\=false export TeamIdentifierPrefix\=FAKETEAMID. export UID\=501 export UNLOCALIZED_RESOURCES_FOLDER_PATH\=Runner.app export UNLOCALIZED_RESOURCES_FOLDER_PATH_SHALLOW_BUNDLE_NO\=Runner.app/Resources export UNLOCALIZED_RESOURCES_FOLDER_PATH_SHALLOW_BUNDLE_YES\=Runner.app export UNSTRIPPED_PRODUCT\=NO export USER\=tylershukert export USER_APPS_DIR\=/Users/tylershukert/Applications export USER_LIBRARY_DIR\=/Users/tylershukert/Library export USE_DYNAMIC_NO_PIC\=YES export USE_HEADERMAP\=YES export USE_HEADER_SYMLINKS\=NO export USE_LLVM_TARGET_TRIPLES\=YES export USE_LLVM_TARGET_TRIPLES_FOR_CLANG\=YES export USE_LLVM_TARGET_TRIPLES_FOR_LD\=YES export USE_LLVM_TARGET_TRIPLES_FOR_TAPI\=YES export USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES\=YES export VALIDATE_DEVELOPMENT_ASSET_PATHS\=YES_ERROR export VALIDATE_PRODUCT\=NO export VALIDATE_WORKSPACE\=YES_ERROR export VALID_ARCHS\=arm64\ arm64e\ i386\ x86_64 export VERBOSE_PBXCP\=NO export VERBOSE_SCRIPT_LOGGING\=YES export VERSIONING_SYSTEM\=apple-generic export VERSIONPLIST_PATH\=Runner.app/version.plist export VERSION_INFO_BUILDER\=tylershukert export VERSION_INFO_FILE\=Runner_vers.c export VERSION_INFO_STRING\=\"@\(\#\)PROGRAM:Runner\ \ PROJECT:Runner-1\" export WRAPPER_EXTENSION\=app export WRAPPER_NAME\=Runner.app export WRAPPER_SUFFIX\=.app export WRAP_ASSET_PACKS_IN_SEPARATE_DIRECTORIES\=NO export XCODE_APP_SUPPORT_DIR\=/Applications/Xcode.app/Contents/Developer/Library/Xcode export XCODE_PRODUCT_BUILD_VERSION\=13F100 export XCODE_VERSION_ACTUAL\=1341 export XCODE_VERSION_MAJOR\=1300 export XCODE_VERSION_MINOR\=1340 export XPCSERVICES_FOLDER_PATH\=Runner.app/XPCServices export YACC\=yacc export _WRAPPER_CONTENTS_DIR_SHALLOW_BUNDLE_NO\=/Contents export _WRAPPER_PARENT_PATH_SHALLOW_BUNDLE_NO\=/.. export _WRAPPER_RESOURCES_DIR_SHALLOW_BUNDLE_NO\=/Resources export __CODE_SIGNING_ALLOWED_appletvos\=NO export __CODE_SIGNING_ALLOWED_iphoneos\=NO export __CODE_SIGNING_ALLOWED_watchos\=NO export arch\=undefined_arch export variant\=normal /bin/sh -c /Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates.noindex/Runner .build/Debug-iphonesimulator/Runner.build/Script-3B06AD1E1E4923F5004D2608.sh PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks /Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates.noindex/Runner.bui ld/Debug-iphonesimulator/Runner.build/Script-0A40B60C4E4C925EFED98F40.sh (in target 'Runner' from project 'Runner') cd /Users/tylershukert/Desktop/bug/ios /bin/sh -c /Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates.noindex/Runner .build/Debug-iphonesimulator/Runner.build/Script-0A40B60C4E4C925EFED98F40.sh mkdir -p /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/Frameworks rsync --delete -av --filter P .*.?????? --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "/Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/app_links/app_links.framework" "/Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/Frameworks" building file list ... done app_links.framework/ app_links.framework/Info.plist app_links.framework/app_links app_links.framework/_CodeSignature/CodeResources sent 291428 bytes received 92 bytes 583040.00 bytes/sec total size is 291049 speedup is 1.00 Stripped /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/app_links.framework/app_links of architectures: x86_64 Code Signing /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/app_links.framework with Identity - /usr/bin/codesign --force --sign - --preserve-metadata=identifier,entitlements '/Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/app_links.framework' & /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/app_links.framework: replacing existing signature ProcessInfoPlistFile /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/Info.plist /Users/tylershukert/Desktop/bug/ios/Runner/Info.plist (in target 'Runner' from project 'Runner') cd /Users/tylershukert/Desktop/bug/ios builtin-infoPlistUtility /Users/tylershukert/Desktop/bug/ios/Runner/Info.plist -producttype com.apple.product-type.application -genpkginfo /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/PkgInfo -expandbuildsettings -format binary -platform iphonesimulator -additionalcontentfile /Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates.noindex/Runner .build/Debug-iphonesimulator/Runner.build/Base.lproj/LaunchScreen-SBPartialInfo.plist -additionalcontentfile /Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates.noindex/Runner .build/Debug-iphonesimulator/Runner.build/Base.lproj/Main-SBPartialInfo.plist -additionalcontentfile /Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates.noindex/Runner .build/Debug-iphonesimulator/Runner.build/assetcatalog_generated_info.plist -o /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/Info.plist CopySwiftLibs /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app (in target 'Runner' from project 'Runner') cd /Users/tylershukert/Desktop/bug/ios export CODESIGN_ALLOCATE\=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate export DEVELOPER_DIR\=/Applications/Xcode.app/Contents/Developer export SDKROOT\=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.5.sdk builtin-swiftStdLibTool --copy --verbose --sign - --scan-executable /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/Runner --scan-folder /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/Frameworks --scan-folder /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/PlugIns --scan-folder /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/SystemExtensions --scan-folder /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Pods_Runner.framework --platform iphonesimulator --toolchain /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain --destination /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app/Frameworks --strip-bitcode --strip-bitcode-tool /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip --emit-dependency-info /Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates.noindex/Runner .build/Debug-iphonesimulator/Runner.build/SwiftStdLibToolInputDependencies.dep --filter-for-swift-os CodeSign /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app (in target 'Runner' from project 'Runner') cd /Users/tylershukert/Desktop/bug/ios export CODESIGN_ALLOCATE\=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate Signing Identity: "-" /usr/bin/codesign --force --sign - --entitlements /Users/tylershukert/Library/Developer/Xcode/DerivedData/Runner-fppagyhkludjvnbvubqxbyanymim/Build/Intermediates.noindex/Runner .build/Debug-iphonesimulator/Runner.build/Runner.app.xcent --timestamp\=none --generate-entitlement-der /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app Result bundle written to path: /var/folders/fr/v8nhg9cd13d2fmv5cq7c_7400000gn/T/flutter_tools.RgRAG6/flutter_ios_build_temp_dirtgmYJ0/temporary_xcresult_bundle ** BUILD SUCCEEDED ** 2023-02-04 01:22:54.265 xcodebuild[54405:1765134] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore 2023-02-04 01:22:54.265 xcodebuild[54405:1765134] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore [ +108 ms] └─Compiling, linking and signing... (completed in 1,820ms) [ +2 ms] Xcode build done. 4.5s [ +1 ms] executing: /usr/bin/arch -arm64e xcrun xcresulttool get --path /var/folders/fr/v8nhg9cd13d2fmv5cq7c_7400000gn/T/flutter_tools.RgRAG6/flutter_ios_build_temp_dirtgmYJ0/temporary_xcresult_bundle --format json [ +56 ms] { "_type" : { "_name" : "ActionsInvocationRecord" }, "actions" : { "_type" : { "_name" : "Array" }, "_values" : [ { "_type" : { "_name" : "ActionRecord" }, "actionResult" : { "_type" : { "_name" : "ActionResult" }, "coverage" : { "_type" : { "_name" : "CodeCoverageInfo" } }, "issues" : { "_type" : { "_name" : "ResultIssueSummaries" } }, "metrics" : { "_type" : { "_name" : "ResultMetrics" } }, "resultName" : { "_type" : { "_name" : "String" }, "_value" : "action" }, "status" : { "_type" : { "_name" : "String" }, "_value" : "notRequested" } }, "buildResult" : { "_type" : { "_name" : "ActionResult" }, "coverage" : { "_type" : { "_name" : "CodeCoverageInfo" } }, "issues" : { "_type" : { "_name" : "ResultIssueSummaries" } }, "logRef" : { "_type" : { "_name" : "Reference" }, "id" : { "_type" : { "_name" : "String" }, "_value" : "0~dMm6KpbNkZh_kCOeJzC0JQni0E_97yH-sgO562q11h7-LSmXqI3fHC2A7r_L3SaqJW_kFt93hoBCItlV_8nWcw==" }, "targetType" : { "_type" : { "_name" : "TypeDefinition" }, "name" : { "_type" : { "_name" : "String" }, "_value" : "ActivityLogSection" } } }, "metrics" : { "_type" : { "_name" : "ResultMetrics" } }, "resultName" : { "_type" : { "_name" : "String" }, "_value" : "build" }, "status" : { "_type" : { "_name" : "String" }, "_value" : "succeeded" } }, "endedTime" : { "_type" : { "_name" : "Date" }, "_value" : "2023-02-04T01:22:58.356+0900" }, "runDestination" : { "_type" : { "_name" : "ActionRunDestinationRecord" }, "displayName" : { "_type" : { "_name" : "String" }, "_value" : "iPhone 13 Pro Max" }, "localComputerRecord" : { "_type" : { "_name" : "ActionDeviceRecord" }, "busSpeedInMHz" : { "_type" : { "_name" : "Int" }, "_value" : "0" }, "cpuCount" : { "_type" : { "_name" : "Int" }, "_value" : "1" }, "cpuKind" : { "_type" : { "_name" : "String" }, "_value" : "Apple M1" }, "cpuSpeedInMHz" : { "_type" : { "_name" : "Int" }, "_value" : "0" }, "identifier" : { "_type" : { "_name" : "String" }, "_value" : "00008103-0012312A1120801E" }, "isConcreteDevice" : { "_type" : { "_name" : "Bool" }, "_value" : "true" }, "logicalCPUCoresPerPackage" : { "_type" : { "_name" : "Int" }, "_value" : "8" }, "modelCode" : { "_type" : { "_name" : "String" }, "_value" : "MacBookAir10,1" }, "modelName" : { "_type" : { "_name" : "String" }, "_value" : "MacBook Air" }, "modelUTI" : { "_type" : { "_name" : "String" }, "_value" : "com.apple.macbookair-late-2020" }, "name" : { "_type" : { "_name" : "String" }, "_value" : "My Mac" }, "nativeArchitecture" : { "_type" : { "_name" : "String" }, "_value" : "arm64e" }, "operatingSystemVersion" : { "_type" : { "_name" : "String" }, "_value" : "12.4" }, "operatingSystemVersionWithBuildNumber" : { "_type" : { "_name" : "String" }, "_value" : "12.4 (21F79)" }, "physicalCPUCoresPerPackage" : { "_type" : { "_name" : "Int" }, "_value" : "8" }, "platformRecord" : { "_type" : { "_name" : "ActionPlatformRecord" }, "identifier" : { "_type" : { "_name" : "String" }, "_value" : "com.apple.platform.macosx" }, "userDescription" : { "_type" : { "_name" : "String" }, "_value" : "macOS" } }, "ramSizeInMegabytes" : { "_type" : { "_name" : "Int" }, "_value" : "16384" } }, "targetArchitecture" : { "_type" : { "_name" : "String" }, "_value" : "arm64" }, "targetDeviceRecord" : { "_type" : { "_name" : "ActionDeviceRecord" }, "busSpeedInMHz" : { "_type" : { "_name" : "Int" }, "_value" : "0" }, "cpuCount" : { "_type" : { "_name" : "Int" }, "_value" : "0" }, "cpuSpeedInMHz" : { "_type" : { "_name" : "Int" }, "_value" : "0" }, "identifier" : { "_type" : { "_name" : "String" }, "_value" : "EE8C7BBC-5C01-46B7-984E-6F5AF58D3800" }, "isConcreteDevice" : { "_type" : { "_name" : "Bool" }, "_value" : "true" }, "logicalCPUCoresPerPackage" : { "_type" : { "_name" : "Int" }, "_value" : "0" }, "modelCode" : { "_type" : { "_name" : "String" }, "_value" : "iPhone14,3" }, "modelName" : { "_type" : { "_name" : "String" }, "_value" : "iPhone 13 Pro Max" }, "modelUTI" : { "_type" : { "_name" : "String" }, "_value" : "com.apple.iphone-13-pro-max-1" }, "name" : { "_type" : { "_name" : "String" }, "_value" : "iPhone 13 Pro Max" }, "nativeArchitecture" : { "_type" : { "_name" : "String" }, "_value" : "arm64" }, "operatingSystemVersion" : { "_type" : { "_name" : "String" }, "_value" : "15.5" }, "operatingSystemVersionWithBuildNumber" : { "_type" : { "_name" : "String" }, "_value" : "15.5 (19F70)" }, "physicalCPUCoresPerPackage" : { "_type" : { "_name" : "Int" }, "_value" : "0" }, "platformRecord" : { "_type" : { "_name" : "ActionPlatformRecord" }, "identifier" : { "_type" : { "_name" : "String" }, "_value" : "com.apple.platform.iphonesimulator" }, "userDescription" : { "_type" : { "_name" : "String" }, "_value" : "iOS Simulator" } }, "ramSizeInMegabytes" : { "_type" : { "_name" : "Int" }, "_value" : "0" } }, "targetSDKRecord" : { "_type" : { "_name" : "ActionSDKRecord" }, "identifier" : { "_type" : { "_name" : "String" }, "_value" : "iphonesimulator15.5" }, "name" : { "_type" : { "_name" : "String" }, "_value" : "Simulator - iOS 15.5" }, "operatingSystemVersion" : { "_type" : { "_name" : "String" }, "_value" : "15.5" } } }, "schemeCommandName" : { "_type" : { "_name" : "String" }, "_value" : "Run" }, "schemeTaskName" : { "_type" : { "_name" : "String" }, "_value" : "Build" }, "startedTime" : { "_type" : { "_name" : "Date" }, "_value" : "2023-02-04T01:22:54.670+0900" }, "title" : { "_type" : { "_name" : "String" }, "_value" : "Build \"Runner\"" } } ] }, "issues" : { "_type" : { "_name" : "ResultIssueSummaries" } }, "metadataRef" : { "_type" : { "_name" : "Reference" }, "id" : { "_type" : { "_name" : "String" }, "_value" : "0~ay3HnaKPTKeAJvz3--2-pw57ZJG3UcUCmlxv5bokYSqL6M9hqr4YDa5YKkdj2VyQtoEk6mV0lEZHqebRrjeHhQ==" }, "targetType" : { "_type" : { "_name" : "TypeDefinition" }, "name" : { "_type" : { "_name" : "String" }, "_value" : "ActionsInvocationMetadata" } } }, "metrics" : { "_type" : { "_name" : "ResultMetrics" } } } [ +4 ms] executing: rsync -8 -av --delete /Users/tylershukert/Desktop/bug/build/ios/Debug-iphonesimulator/Runner.app /Users/tylershukert/Desktop/bug/build/ios/iphonesimulator [ +22 ms] building file list ... done Runner.app/ Runner.app/Info.plist Runner.app/PkgInfo Runner.app/Runner Runner.app/Frameworks/app_links.framework/ Runner.app/Frameworks/app_links.framework/Info.plist Runner.app/Frameworks/app_links.framework/app_links Runner.app/Frameworks/app_links.framework/_CodeSignature/CodeResources Runner.app/_CodeSignature/CodeResources sent 269394 bytes received 186 bytes 539160.00 bytes/sec total size is 84720451 speedup is 314.27 [ +1 ms] executing: /usr/bin/arch -arm64e xcrun simctl install EE8C7BBC-5C01-46B7-984E-6F5AF58D3800 /Users/tylershukert/Desktop/bug/build/ios/iphonesimulator/Runner.app [ +717 ms] executing: /usr/bin/plutil -convert xml1 -o - /Users/tylershukert/Desktop/bug/build/ios/iphonesimulator/Runner.app/Info.plist [ +33 ms] Exit code 0 from: /usr/bin/plutil -convert xml1 -o - /Users/tylershukert/Desktop/bug/build/ios/iphonesimulator/Runner.app/Info.plist [ ] BuildMachineOSBuild 21F79 CADisableMinimumFrameDurationOnPhone CFBundleDevelopmentRegion en CFBundleDisplayName Bug CFBundleExecutable Runner CFBundleIcons CFBundlePrimaryIcon CFBundleIconFiles AppIcon60x60 CFBundleIconName AppIcon CFBundleIcons~ipad CFBundlePrimaryIcon CFBundleIconFiles AppIcon60x60 AppIcon76x76 CFBundleIconName AppIcon CFBundleIdentifier com.example.bug CFBundleInfoDictionaryVersion 6.0 CFBundleName bug CFBundlePackageType APPL CFBundleShortVersionString 1.0.0 CFBundleSignature ???? CFBundleSupportedPlatforms iPhoneSimulator CFBundleVersion 1 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild 19F64 DTPlatformName iphonesimulator DTPlatformVersion 15.5 DTSDKBuild 19F64 DTSDKName iphonesimulator15.5 DTXcode 1341 DTXcodeBuild 13F100 LSRequiresIPhoneOS MinimumOSVersion 11.0 UIApplicationSupportsIndirectInputEvents UIDeviceFamily 1 2 UILaunchStoryboardName LaunchScreen UIMainStoryboardFile Main UISupportedInterfaceOrientations UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UISupportedInterfaceOrientations~ipad UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIViewControllerBasedStatusBarAppearance ``` ``` [✓] Flutter (Channel stable, 3.7.0, on macOS 12.4 21F79 darwin-arm64 (Rosetta), locale en-JP) • Flutter version 3.7.0 on channel stable at /Users/tylershukert/development/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision b06b8b2710 (11 days ago), 2023-01-23 16:55:55 -0800 • Engine revision b24591ed32 • Dart version 2.19.0 • DevTools version 2.20.1 [!] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at /Users/tylershukert/Library/Android/sdk ✗ cmdline-tools component is missing Run `path/to/sdkmanager --install "cmdline-tools;latest"` See https://developer.android.com/studio/command-line for more details. ✗ Android license status unknown. Run `flutter doctor --android-licenses` to accept the SDK licenses. See https://flutter.dev/docs/get-started/install/macos#android-setup for more details. [✓] Xcode - develop for iOS and macOS (Xcode 13.4.1) • Xcode at /Applications/Xcode.app/Contents/Developer • Build 13F100 • CocoaPods version 1.11.3 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 4.2) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264) [✓] VS Code (version 1.73.1) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.58.0 [✓] VS Code (version 1.74.3) • VS Code at /Applications/Visual Studio Code 4.app/Contents • Flutter extension version 3.58.0 [✓] Connected device (3 available) • iPhone 13 Pro Max (mobile) • EE8C7BBC-5C01-46B7-984E-6F5AF58D3800 • ios • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator) • macOS (desktop) • macos • darwin-arm64 • macOS 12.4 21F79 darwin-arm64 (Rosetta) • Chrome (web) • chrome • web-javascript • Google Chrome 109.0.5414.119 [✓] HTTP Host Availability • All required HTTP hosts are available ! Doctor found issues in 1 category. ```
huycozy commented 1 year ago

@dshukertjr Thanks for your report. I'm also confused about this flag (FlutterDeepLinkingEnabled/flutter_deeplinking_enabled) since the app is still opening when turning it on or off.

Below is my test for this on Android (To make the sample code clearer, I added a scheme (reproduce_issues) for testing Deep Links)

  1. Use the main Dart code and app_links plugin as OP.
  2. Declare AndroidManifest.xml with app link and deep link as below:
<!-- Deep Links -->
<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <!-- Accepts URIs that begin with YOUR_SCHEME://YOUR_HOST -->
    <data
        android:scheme="reproduce_issues"
        android:host="flutterbooksample.com" />
</intent-filter>

<!-- App Links -->
<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="http" android:host="flutterbooksample.com" />
    <data android:scheme="https" />
</intent-filter>
  1. Try setting flutter_deeplinking_enabled to true and false for each test time.
<meta-data android:name="flutter_deeplinking_enabled" android:value="false" />
Complete AndroidManifest.xml ```dart ```
  1. Test with adb CLI:
adb shell am start -a android.intent.action.VIEW \
    -c android.intent.category.BROWSABLE \
    -d "http://flutterbooksample.com/book/1" \
    com.example.test_deeplink_119938
adb shell am start -a android.intent.action.VIEW \
    -c android.intent.category.BROWSABLE \
    -d "reproduce_issues://flutterbooksample.com/book/1" \
    com.example.test_deeplink_119938
  1. App is open all the time even setting flutter_deeplinking_enabled to false and run adb to start Deep Links.

Labeling the issue for further insights.

flutter doctor -v (stable and master) ```bash [✓] Flutter (Channel stable, 3.7.1, on macOS 13.0.1 22A400 darwin-x64, locale en-VN) • Flutter version 3.7.1 on channel stable at /Users/huynq/Documents/GitHub/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 7048ed95a5 (11 hours ago), 2023-02-01 09:07:31 -0800 • Engine revision 800594f1f4 • Dart version 2.19.1 • DevTools version 2.20.1 [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) • Android SDK at /Users/huynq/Library/Android/sdk • Platform android-33, build-tools 31.0.0 • ANDROID_HOME = /Users/huynq/Library/Android/sdk • Java binary at: /Applications/Android Studio Dolphin 2021.3.1.app/Contents/jre/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 14.1) • Xcode at /Applications/Xcode.app/Contents/Developer • Build 14B47b • CocoaPods version 1.11.3 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 2021.3) • Android Studio at /Applications/Android Studio Dolphin 2021.3.1.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866) [!] Android Studio (version 2022.1) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart ✗ Unable to find bundled Java version. • Try updating or re-installing Android Studio. [✓] IntelliJ IDEA Community Edition (version 2022.1.1) • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart [✓] VS Code (version 1.74.3) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.58.0 [✓] Connected device (4 available) • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64 • Android 11 (API 30) • iPhone (mobile) • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios • iOS 15.7.2 19H218 • macOS (desktop) • macos • darwin-x64 • macOS 13.0.1 22A400 darwin-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 109.0.5414.119 [✓] HTTP Host Availability • All required HTTP hosts are available ! Doctor found issues in 1 category. ``` ```bash [!] Flutter (Channel master, 3.8.0-4.0.pre.25, on macOS 13.0.1 22A400 darwin-x64, locale en-VN) • Flutter version 3.8.0-4.0.pre.25 on channel master at /Users/huynq/Documents/GitHub/flutter_master ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path. ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path. • Upstream repository https://github.com/flutter/flutter.git • Framework revision b8f5394a5c (19 hours ago), 2023-02-04 23:06:19 -0800 • Engine revision 2a104cdfcd • Dart version 3.0.0 (build 3.0.0-204.0.dev) • DevTools version 2.21.1 • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades. [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) • Android SDK at /Users/huynq/Library/Android/sdk • Platform android-33, build-tools 31.0.0 • ANDROID_HOME = /Users/huynq/Library/Android/sdk • Java binary at: /Users/huynq/Library/Java/JavaVirtualMachines/corretto-1.8.0_302/Contents/Home/bin/java • Java version OpenJDK Runtime Environment Corretto-8.302.08.1 (build 1.8.0_302-b08) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 14.1) • Xcode at /Applications/Xcode.app/Contents/Developer • Build 14B47b • CocoaPods version 1.11.3 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [!] Android Studio (version 2022.1) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart ✗ Unable to find bundled Java version. • Try updating or re-installing Android Studio. [✓] IntelliJ IDEA Community Edition (version 2022.1.1) • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart [✓] VS Code (version 1.75.0) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.58.0 [✓] Connected device (3 available) • SM T225 (mobile) • R9JT3004VRJ • android-arm64 • Android 13 (API 33) • macOS (desktop) • macos • darwin-x64 • macOS 13.0.1 22A400 darwin-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 109.0.5414.119 [✓] HTTP Host Availability • All required HTTP hosts are available ! Doctor found issues in 2 categories. ```
jmagman commented 1 year ago

It looks like that Info.plist key prevents the Flutter engine pushing the route from the app delegate:

https://github.com/flutter/engine/blob/a339093f6593e4e155451019af06f333d8f3e325/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate.mm#L175-L178

https://github.com/flutter/engine/blob/a339093f6593e4e155451019af06f333d8f3e325/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate.mm#L138-L143

But first it lets the registered plugins try to open the link, without checking the Info.plist key:

https://github.com/flutter/engine/blob/a339093f6593e4e155451019af06f333d8f3e325/shell/platform/darwin/ios/framework/Source/FlutterPluginAppLifeCycleDelegate.mm#L327-L328

https://github.com/flutter/engine/pull/22356 https://github.com/flutter/engine/pull/27874

Based on https://github.com/flutter/flutter/issues/69786 it seems like this was on purpose, and the key was to favor the plugins that handle deep linking, preventing two routes from being pushed.

However, this become a breaking change for apps that handles deeplink by writing their own plugin.

I know this happened awhile ago, but @chunhtai @gaaclarke @johnpryan do you remember? If so it seems like the documentation needs to be updated to make this clearer?

chunhtai commented 1 year ago

There was no specific decision on whether setting the flag should turn off plugin based deeplinks at the time AFAIK.

I don't think we should disable it though. Besides being a breaking change, someone may want to use the deeplink intent for something other than navigating the app, for example, logging or something else. They will still be able to write a plugin even if the flag is set.

I think we should update the documentation for sure

johnpryan commented 1 year ago

Right now the documentation says:

If you have written a plugin to handle deep links, as described in Deep Links and Flutter applications (a free article on Medium), it will continue to work until you opt-in to this behavior by adding FlutterDeepLinkingEnabled to Info.plist or flutter_deeplinking_enabled to AndroidManifest.xml, respectively.

So, if you opt-in we don't provide any guarantees that plugins will continue to work. Essentially we don't define the behavior for plugins when you add this flag. To me, the documentation is clear but I'm happy to add a sentence to call out that plugin code may or may not work when you turn on this flag.

dshukertjr commented 1 year ago

Just one clarification question. Would enabling FlutterDeepLinkingEnabled/flutter_deeplinking_enabled flag possibly disable plugin-based deep links?

@chunhtai is saying we should not disable it at all, and @johnpryan is saying it may work or it may not work, but Flutter does not guarantee if it will work with the flags enabled. Those two statements seems very different.

Personally, I would love if there was a guarantee that the plug-in based deep linking would work with the flag enabled for the reasons @chunhtai has listed here

jacksonemiller commented 1 month ago

I still feel like there is a lot of ambiguity here. From playing around a bit, as far as I can tell, this flag is just a noop and doesn't currently control anything?

chunhtai commented 1 month ago

cc @hangyujin who is working on switching the flag default