diff --git a/persist_key_value/.idea/libraries/Dart_Packages.xml b/persist_key_value/.idea/libraries/Dart_Packages.xml index bb6d23f..8773c8e 100644 --- a/persist_key_value/.idea/libraries/Dart_Packages.xml +++ b/persist_key_value/.idea/libraries/Dart_Packages.xml @@ -240,6 +240,13 @@ + + + + + + @@ -408,6 +415,7 @@ + diff --git a/persist_key_value/.idea/libraries/Flutter_Plugins.xml b/persist_key_value/.idea/libraries/Flutter_Plugins.xml index b0f6971..31b135a 100644 --- a/persist_key_value/.idea/libraries/Flutter_Plugins.xml +++ b/persist_key_value/.idea/libraries/Flutter_Plugins.xml @@ -1,6 +1,8 @@ - + + + diff --git a/persist_key_value/.idea/workspace.xml b/persist_key_value/.idea/workspace.xml index 0d1bb94..da88491 100644 --- a/persist_key_value/.idea/workspace.xml +++ b/persist_key_value/.idea/workspace.xml @@ -2,9 +2,13 @@ - - - + + + + + + + + + @@ -216,7 +165,6 @@ - @@ -225,17 +173,18 @@ - + - + + - + @@ -260,10 +209,32 @@ + + + + + + + + + + + + + + + + + + + - - + + + + + diff --git a/persist_key_value/ios/Flutter/Debug.xcconfig b/persist_key_value/ios/Flutter/Debug.xcconfig index 592ceee..e8efba1 100644 --- a/persist_key_value/ios/Flutter/Debug.xcconfig +++ b/persist_key_value/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/persist_key_value/ios/Flutter/Release.xcconfig b/persist_key_value/ios/Flutter/Release.xcconfig index 592ceee..399e934 100644 --- a/persist_key_value/ios/Flutter/Release.xcconfig +++ b/persist_key_value/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/persist_key_value/ios/Podfile b/persist_key_value/ios/Podfile new file mode 100644 index 0000000..2dfb501 --- /dev/null +++ b/persist_key_value/ios/Podfile @@ -0,0 +1,65 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '9.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +def parse_KV_file(file, separator='=') + file_abs_path = File.expand_path(file) + if !File.exists? file_abs_path + return []; + end + pods_ary = [] + skip_line_start_symbols = ["#", "/"] + File.foreach(file_abs_path) { |line| + next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ } + plugin = line.split(pattern=separator) + if plugin.length == 2 + podname = plugin[0].strip() + path = plugin[1].strip() + podpath = File.expand_path("#{path}", file_abs_path) + pods_ary.push({:name => podname, :path => podpath}); + else + puts "Invalid plugin specification: #{line}" + end + } + return pods_ary +end + +target 'Runner' do + use_frameworks! + + # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock + # referring to absolute paths on developers' machines. + system('rm -rf .symlinks') + system('mkdir -p .symlinks/plugins') + + # Flutter Pods + generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig') + if generated_xcode_build_settings.empty? + puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter packages get is executed first." + end + generated_xcode_build_settings.map { |p| + if p[:name] == 'FLUTTER_FRAMEWORK_DIR' + symlink = File.join('.symlinks', 'flutter') + File.symlink(File.dirname(p[:path]), symlink) + pod 'Flutter', :path => File.join(symlink, File.basename(p[:path])) + end + } + + # Plugin Pods + plugin_pods = parse_KV_file('../.flutter-plugins') + plugin_pods.map { |p| + symlink = File.join('.symlinks', 'plugins', p[:name]) + File.symlink(p[:path], symlink) + pod p[:name], :path => File.join(symlink, 'ios') + } +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings['ENABLE_BITCODE'] = 'NO' + end + end +end diff --git a/persist_key_value/pubspec.yaml b/persist_key_value/pubspec.yaml index c055e41..b18d177 100644 --- a/persist_key_value/pubspec.yaml +++ b/persist_key_value/pubspec.yaml @@ -12,6 +12,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter + shared_preferences: 0.4.2 # For information on the generic Dart part of this file, see the