* fix: correct auto-scroll direction for left selection handle drag on iOS When dragging the left selection handle upward, the proxy rect used for auto-scroll detection was built with offset & Size(1, edgeOffset), which extends 220px downward from the selection start. This caused the bottom of the rect to exceed the viewport bottom, triggering a downward scroll (showing content below) — the opposite of the intended direction. Fix by using Rect.fromLTWH(offset.dx, offset.dy - edgeOffset, 1, edgeOffset) so the proxy rect extends upward, only triggering scroll-up when the handle approaches the top edge of the viewport. * chore: update iOS minimum deployment target to 13.0 * test: add auto_scroller proxy rect direction tests Adds regression tests for the left selection handle auto-scroll bug where the proxy rect incorrectly extended downward, triggering scroll in the wrong direction. Verifies the rect extends upward from the handle offset when direction is AxisDirection.up. * fix: remove unused import in auto_scroller_test * chore: code review
57 lines
2 KiB
Ruby
57 lines
2 KiB
Ruby
# Uncomment this line to define a global platform for your project
|
|
platform :ios, '13.0'
|
|
|
|
# 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', '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 Generated.xcconfig, then run flutter pub get"
|
|
end
|
|
|
|
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
|
|
|
|
flutter_ios_podfile_setup
|
|
|
|
target 'Runner' do
|
|
use_frameworks!
|
|
use_modular_headers!
|
|
|
|
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
|
|
end
|
|
|
|
post_install do |installer|
|
|
installer.pods_project.targets.each do |target|
|
|
flutter_additional_ios_build_settings(target)
|
|
end
|
|
|
|
installer.aggregate_targets.each do |target|
|
|
target.xcconfigs.each do |variant, xcconfig|
|
|
xcconfig_path = target.client_root + target.xcconfig_relative_path(variant)
|
|
IO.write(xcconfig_path, IO.read(xcconfig_path).gsub("DT_TOOLCHAIN_DIR", "TOOLCHAIN_DIR"))
|
|
end
|
|
end
|
|
|
|
installer.pods_project.targets.each do |target|
|
|
target.build_configurations.each do |config|
|
|
if config.base_configuration_reference.is_a? Xcodeproj::Project::Object::PBXFileReference
|
|
xcconfig_path = config.base_configuration_reference.real_path
|
|
IO.write(xcconfig_path, IO.read(xcconfig_path).gsub("DT_TOOLCHAIN_DIR", "TOOLCHAIN_DIR"))
|
|
end
|
|
end
|
|
end
|
|
end
|