mirror of
https://github.com/flutter/samples.git
synced 2026-04-04 02:32:25 +00:00
Add firebase support to web_dashboard (#421)
* add mock data, app state, model classes * Set up app without ChangeNotifier * refactor * add experiments to experimental/ * Add project-agnostic Firebase authentication code * add sign in button * add stub firebase API * add firestore * refactor code for google_sign_in * update pubspec.lock * switch to mocks for non-firebase version * Add firebase instructions to the README * fix README * sign in silently if the user is already signed in * add json_serializable * update README * ignore 'id' field on types * Implement FirebaseItemApi * Add build_runner instructions to README * remove experiments directory * add EditItemForm * move types.dart into api.dart * move mock and firebase configuration into the constructor * add main_mock entrypoint * add copyright checks to grinder script * fix fix-copyright task * run grind fix-copyright * add run and generate tasks * add run tasks to grind script * add fillWithMockData() fix delete() in mock API * add edit / new form dialogs * Add charts that display entries from Firebase * Add Entries list without editing * refactor home page * format * Add entries page functionality * Show current day in charts * cleanup: pubspec.lock, remove type annotation * Remove _selectedItem from Home page Add ItemsDropdown Use ItemsDropdown in NewEntryDialog / NewEntryForm * rename item-category * don't wait to show snackbar on delete * fix circular progress indicator * Move dialogs into dialogs.dart * run grind fix-copyright * remove unused import * Refactor entry total calculation, add chart_utils library * fix bug in chart_utils.dart * convert CategoryChart to a stateless widget * use a const for number of days in chart * code review updates - rename stream -> subscribe - timeStamp -> timestamp - remove latest() from API - use FutureBuilder and StreamBuilder instead of stateful widget - rename variables in mock_service_test.dart * use a single collection reference in firebase API * remove reference to stream in mock API * Use a new type, _EntriesEvent to improve filtering in mock API * add analysis_options.yaml and fix (most) issues * fix avoid_types_on_closure_parameters lint warnings * use spread operator in dashboard.dart * handle case where selected item in the category dropdown goes away * use StreamBuilder + FutureBuilder on Entries page * rename method * use fake firebase configuration * update pubspec.lock * update README * Change categories_dropdown to FutureBuilder + StreamBuilder * Update minSdkVersion in build.gradle SDK version 16 was failing: "The number of method references in a .dex file cannot exceed 64K." * update README * Use a collection reference in FirebaseEntryApi Already added to FirebaseCategoryApi * Invoke onSelected in CategoriesDropdown when necessary Also, avoid calling onSelected during a build. * fix misnamed var * remove unused import * Use relative imports * Use extension methods for DateTime utilities * remove forms.dart * Make Firebase instructions specific for this sample * add copyright headers * fix grammar * dartfmt * avoid setState() during build phase in CategoryDropdown * add empty test to material_theme_builder
This commit is contained in:
@@ -1 +1,2 @@
|
||||
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
|
||||
#include "Generated.xcconfig"
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
|
||||
#include "Generated.xcconfig"
|
||||
|
||||
87
experimental/web_dashboard/ios/Podfile
Normal file
87
experimental/web_dashboard/ios/Podfile
Normal file
@@ -0,0 +1,87 @@
|
||||
# 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'
|
||||
|
||||
project 'Runner', {
|
||||
'Debug' => :debug,
|
||||
'Profile' => :release,
|
||||
'Release' => :release,
|
||||
}
|
||||
|
||||
def parse_KV_file(file, separator='=')
|
||||
file_abs_path = File.expand_path(file)
|
||||
if !File.exists? file_abs_path
|
||||
return [];
|
||||
end
|
||||
generated_key_values = {}
|
||||
skip_line_start_symbols = ["#", "/"]
|
||||
File.foreach(file_abs_path) do |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)
|
||||
generated_key_values[podname] = podpath
|
||||
else
|
||||
puts "Invalid plugin specification: #{line}"
|
||||
end
|
||||
end
|
||||
generated_key_values
|
||||
end
|
||||
|
||||
target 'Runner' do
|
||||
use_frameworks!
|
||||
use_modular_headers!
|
||||
|
||||
# Flutter Pod
|
||||
|
||||
copied_flutter_dir = File.join(__dir__, 'Flutter')
|
||||
copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework')
|
||||
copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec')
|
||||
unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path)
|
||||
# Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet.
|
||||
# That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration.
|
||||
# CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist.
|
||||
|
||||
generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig')
|
||||
unless File.exist?(generated_xcode_build_settings_path)
|
||||
raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first"
|
||||
end
|
||||
generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path)
|
||||
cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR'];
|
||||
|
||||
unless File.exist?(copied_framework_path)
|
||||
FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir)
|
||||
end
|
||||
unless File.exist?(copied_podspec_path)
|
||||
FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir)
|
||||
end
|
||||
end
|
||||
|
||||
# Keep pod path relative so it can be checked into Podfile.lock.
|
||||
pod 'Flutter', :path => 'Flutter'
|
||||
|
||||
# Plugin Pods
|
||||
|
||||
# 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')
|
||||
plugin_pods = parse_KV_file('../.flutter-plugins')
|
||||
plugin_pods.each do |name, path|
|
||||
symlink = File.join('.symlinks', 'plugins', name)
|
||||
File.symlink(path, symlink)
|
||||
pod name, :path => File.join(symlink, 'ios')
|
||||
end
|
||||
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
|
||||
410
experimental/web_dashboard/ios/Podfile.lock
Normal file
410
experimental/web_dashboard/ios/Podfile.lock
Normal file
@@ -0,0 +1,410 @@
|
||||
PODS:
|
||||
- abseil/algorithm (0.20190808):
|
||||
- abseil/algorithm/algorithm (= 0.20190808)
|
||||
- abseil/algorithm/container (= 0.20190808)
|
||||
- abseil/algorithm/algorithm (0.20190808)
|
||||
- abseil/algorithm/container (0.20190808):
|
||||
- abseil/algorithm/algorithm
|
||||
- abseil/base/core_headers
|
||||
- abseil/meta/type_traits
|
||||
- abseil/base (0.20190808):
|
||||
- abseil/base/atomic_hook (= 0.20190808)
|
||||
- abseil/base/base (= 0.20190808)
|
||||
- abseil/base/base_internal (= 0.20190808)
|
||||
- abseil/base/bits (= 0.20190808)
|
||||
- abseil/base/config (= 0.20190808)
|
||||
- abseil/base/core_headers (= 0.20190808)
|
||||
- abseil/base/dynamic_annotations (= 0.20190808)
|
||||
- abseil/base/endian (= 0.20190808)
|
||||
- abseil/base/log_severity (= 0.20190808)
|
||||
- abseil/base/malloc_internal (= 0.20190808)
|
||||
- abseil/base/pretty_function (= 0.20190808)
|
||||
- abseil/base/spinlock_wait (= 0.20190808)
|
||||
- abseil/base/throw_delegate (= 0.20190808)
|
||||
- abseil/base/atomic_hook (0.20190808)
|
||||
- abseil/base/base (0.20190808):
|
||||
- abseil/base/atomic_hook
|
||||
- abseil/base/base_internal
|
||||
- abseil/base/config
|
||||
- abseil/base/core_headers
|
||||
- abseil/base/dynamic_annotations
|
||||
- abseil/base/log_severity
|
||||
- abseil/base/spinlock_wait
|
||||
- abseil/meta/type_traits
|
||||
- abseil/base/base_internal (0.20190808):
|
||||
- abseil/meta/type_traits
|
||||
- abseil/base/bits (0.20190808):
|
||||
- abseil/base/core_headers
|
||||
- abseil/base/config (0.20190808)
|
||||
- abseil/base/core_headers (0.20190808):
|
||||
- abseil/base/config
|
||||
- abseil/base/dynamic_annotations (0.20190808)
|
||||
- abseil/base/endian (0.20190808):
|
||||
- abseil/base/config
|
||||
- abseil/base/core_headers
|
||||
- abseil/base/log_severity (0.20190808):
|
||||
- abseil/base/core_headers
|
||||
- abseil/base/malloc_internal (0.20190808):
|
||||
- abseil/base/base
|
||||
- abseil/base/config
|
||||
- abseil/base/core_headers
|
||||
- abseil/base/dynamic_annotations
|
||||
- abseil/base/spinlock_wait
|
||||
- abseil/base/pretty_function (0.20190808)
|
||||
- abseil/base/spinlock_wait (0.20190808):
|
||||
- abseil/base/core_headers
|
||||
- abseil/base/throw_delegate (0.20190808):
|
||||
- abseil/base/base
|
||||
- abseil/base/config
|
||||
- abseil/memory (0.20190808):
|
||||
- abseil/memory/memory (= 0.20190808)
|
||||
- abseil/memory/memory (0.20190808):
|
||||
- abseil/base/core_headers
|
||||
- abseil/meta/type_traits
|
||||
- abseil/meta (0.20190808):
|
||||
- abseil/meta/type_traits (= 0.20190808)
|
||||
- abseil/meta/type_traits (0.20190808):
|
||||
- abseil/base/config
|
||||
- abseil/numeric/int128 (0.20190808):
|
||||
- abseil/base/config
|
||||
- abseil/base/core_headers
|
||||
- abseil/strings/internal (0.20190808):
|
||||
- abseil/base/core_headers
|
||||
- abseil/base/endian
|
||||
- abseil/meta/type_traits
|
||||
- abseil/strings/strings (0.20190808):
|
||||
- abseil/base/base
|
||||
- abseil/base/bits
|
||||
- abseil/base/config
|
||||
- abseil/base/core_headers
|
||||
- abseil/base/endian
|
||||
- abseil/base/throw_delegate
|
||||
- abseil/memory/memory
|
||||
- abseil/meta/type_traits
|
||||
- abseil/numeric/int128
|
||||
- abseil/strings/internal
|
||||
- abseil/time (0.20190808):
|
||||
- abseil/time/internal (= 0.20190808)
|
||||
- abseil/time/time (= 0.20190808)
|
||||
- abseil/time/internal (0.20190808):
|
||||
- abseil/time/internal/cctz (= 0.20190808)
|
||||
- abseil/time/internal/cctz (0.20190808):
|
||||
- abseil/time/internal/cctz/civil_time (= 0.20190808)
|
||||
- abseil/time/internal/cctz/includes (= 0.20190808)
|
||||
- abseil/time/internal/cctz/time_zone (= 0.20190808)
|
||||
- abseil/time/internal/cctz/civil_time (0.20190808)
|
||||
- abseil/time/internal/cctz/includes (0.20190808)
|
||||
- abseil/time/internal/cctz/time_zone (0.20190808):
|
||||
- abseil/time/internal/cctz/civil_time
|
||||
- abseil/time/time (0.20190808):
|
||||
- abseil/base/base
|
||||
- abseil/base/core_headers
|
||||
- abseil/numeric/int128
|
||||
- abseil/strings/strings
|
||||
- abseil/time/internal/cctz/civil_time
|
||||
- abseil/time/internal/cctz/time_zone
|
||||
- abseil/types (0.20190808):
|
||||
- abseil/types/any (= 0.20190808)
|
||||
- abseil/types/bad_any_cast (= 0.20190808)
|
||||
- abseil/types/bad_any_cast_impl (= 0.20190808)
|
||||
- abseil/types/bad_optional_access (= 0.20190808)
|
||||
- abseil/types/bad_variant_access (= 0.20190808)
|
||||
- abseil/types/compare (= 0.20190808)
|
||||
- abseil/types/optional (= 0.20190808)
|
||||
- abseil/types/span (= 0.20190808)
|
||||
- abseil/types/variant (= 0.20190808)
|
||||
- abseil/types/any (0.20190808):
|
||||
- abseil/base/config
|
||||
- abseil/base/core_headers
|
||||
- abseil/meta/type_traits
|
||||
- abseil/types/bad_any_cast
|
||||
- abseil/utility/utility
|
||||
- abseil/types/bad_any_cast (0.20190808):
|
||||
- abseil/base/config
|
||||
- abseil/types/bad_any_cast_impl
|
||||
- abseil/types/bad_any_cast_impl (0.20190808):
|
||||
- abseil/base/base
|
||||
- abseil/base/config
|
||||
- abseil/types/bad_optional_access (0.20190808):
|
||||
- abseil/base/base
|
||||
- abseil/base/config
|
||||
- abseil/types/bad_variant_access (0.20190808):
|
||||
- abseil/base/base
|
||||
- abseil/base/config
|
||||
- abseil/types/compare (0.20190808):
|
||||
- abseil/base/core_headers
|
||||
- abseil/meta/type_traits
|
||||
- abseil/types/optional (0.20190808):
|
||||
- abseil/base/base_internal
|
||||
- abseil/base/config
|
||||
- abseil/base/core_headers
|
||||
- abseil/memory/memory
|
||||
- abseil/meta/type_traits
|
||||
- abseil/types/bad_optional_access
|
||||
- abseil/utility/utility
|
||||
- abseil/types/span (0.20190808):
|
||||
- abseil/algorithm/algorithm
|
||||
- abseil/base/core_headers
|
||||
- abseil/base/throw_delegate
|
||||
- abseil/meta/type_traits
|
||||
- abseil/types/variant (0.20190808):
|
||||
- abseil/base/base_internal
|
||||
- abseil/base/config
|
||||
- abseil/base/core_headers
|
||||
- abseil/meta/type_traits
|
||||
- abseil/types/bad_variant_access
|
||||
- abseil/utility/utility
|
||||
- abseil/utility/utility (0.20190808):
|
||||
- abseil/base/base_internal
|
||||
- abseil/base/config
|
||||
- abseil/meta/type_traits
|
||||
- AppAuth (1.3.0):
|
||||
- AppAuth/Core (= 1.3.0)
|
||||
- AppAuth/ExternalUserAgent (= 1.3.0)
|
||||
- AppAuth/Core (1.3.0)
|
||||
- AppAuth/ExternalUserAgent (1.3.0)
|
||||
- BoringSSL-GRPC (0.0.3):
|
||||
- BoringSSL-GRPC/Implementation (= 0.0.3)
|
||||
- BoringSSL-GRPC/Interface (= 0.0.3)
|
||||
- BoringSSL-GRPC/Implementation (0.0.3):
|
||||
- BoringSSL-GRPC/Interface (= 0.0.3)
|
||||
- BoringSSL-GRPC/Interface (0.0.3)
|
||||
- cloud_firestore (0.0.1):
|
||||
- Firebase/Core
|
||||
- Firebase/Firestore (~> 6.0)
|
||||
- Flutter
|
||||
- cloud_firestore_web (0.1.0):
|
||||
- Flutter
|
||||
- Firebase/Auth (6.18.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseAuth (~> 6.4.3)
|
||||
- Firebase/Core (6.18.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseAnalytics (= 6.3.0)
|
||||
- Firebase/CoreOnly (6.18.0):
|
||||
- FirebaseCore (= 6.6.3)
|
||||
- Firebase/Firestore (6.18.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseFirestore (~> 1.11.0)
|
||||
- firebase_auth (0.0.1):
|
||||
- Firebase/Auth (~> 6.3)
|
||||
- Firebase/Core
|
||||
- Flutter
|
||||
- firebase_auth_web (0.1.0):
|
||||
- Flutter
|
||||
- firebase_core (0.0.1):
|
||||
- Firebase/Core
|
||||
- Flutter
|
||||
- firebase_core_web (0.1.0):
|
||||
- Flutter
|
||||
- FirebaseAnalytics (6.3.0):
|
||||
- FirebaseCore (~> 6.6)
|
||||
- FirebaseInstallations (~> 1.1)
|
||||
- GoogleAppMeasurement (= 6.3.0)
|
||||
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
|
||||
- GoogleUtilities/MethodSwizzler (~> 6.0)
|
||||
- GoogleUtilities/Network (~> 6.0)
|
||||
- "GoogleUtilities/NSData+zlib (~> 6.0)"
|
||||
- nanopb (= 0.3.9011)
|
||||
- FirebaseAuth (6.4.3):
|
||||
- FirebaseAuthInterop (~> 1.0)
|
||||
- FirebaseCore (~> 6.6)
|
||||
- GoogleUtilities/AppDelegateSwizzler (~> 6.5)
|
||||
- GoogleUtilities/Environment (~> 6.5)
|
||||
- GTMSessionFetcher/Core (~> 1.1)
|
||||
- FirebaseAuthInterop (1.0.0)
|
||||
- FirebaseCore (6.6.3):
|
||||
- FirebaseCoreDiagnostics (~> 1.2)
|
||||
- FirebaseCoreDiagnosticsInterop (~> 1.2)
|
||||
- GoogleUtilities/Environment (~> 6.5)
|
||||
- GoogleUtilities/Logger (~> 6.5)
|
||||
- FirebaseCoreDiagnostics (1.2.1):
|
||||
- FirebaseCoreDiagnosticsInterop (~> 1.2)
|
||||
- GoogleDataTransportCCTSupport (~> 1.3)
|
||||
- GoogleUtilities/Environment (~> 6.5)
|
||||
- GoogleUtilities/Logger (~> 6.5)
|
||||
- nanopb (~> 0.3.901)
|
||||
- FirebaseCoreDiagnosticsInterop (1.2.0)
|
||||
- FirebaseFirestore (1.11.0):
|
||||
- abseil/algorithm (= 0.20190808)
|
||||
- abseil/base (= 0.20190808)
|
||||
- abseil/memory (= 0.20190808)
|
||||
- abseil/meta (= 0.20190808)
|
||||
- abseil/strings/strings (= 0.20190808)
|
||||
- abseil/time (= 0.20190808)
|
||||
- abseil/types (= 0.20190808)
|
||||
- FirebaseAuthInterop (~> 1.0)
|
||||
- FirebaseCore (~> 6.2)
|
||||
- "gRPC-C++ (= 0.0.9)"
|
||||
- leveldb-library (~> 1.22)
|
||||
- nanopb (~> 0.3.901)
|
||||
- FirebaseInstallations (1.1.0):
|
||||
- FirebaseCore (~> 6.6)
|
||||
- GoogleUtilities/UserDefaults (~> 6.5)
|
||||
- PromisesObjC (~> 1.2)
|
||||
- Flutter (1.0.0)
|
||||
- google_sign_in (0.0.1):
|
||||
- Flutter
|
||||
- GoogleSignIn (~> 5.0)
|
||||
- google_sign_in_web (0.8.1):
|
||||
- Flutter
|
||||
- GoogleAppMeasurement (6.3.0):
|
||||
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
|
||||
- GoogleUtilities/MethodSwizzler (~> 6.0)
|
||||
- GoogleUtilities/Network (~> 6.0)
|
||||
- "GoogleUtilities/NSData+zlib (~> 6.0)"
|
||||
- nanopb (= 0.3.9011)
|
||||
- GoogleDataTransport (4.0.1)
|
||||
- GoogleDataTransportCCTSupport (1.4.1):
|
||||
- GoogleDataTransport (~> 4.0)
|
||||
- nanopb (~> 0.3.901)
|
||||
- GoogleSignIn (5.0.2):
|
||||
- AppAuth (~> 1.2)
|
||||
- GTMAppAuth (~> 1.0)
|
||||
- GTMSessionFetcher/Core (~> 1.1)
|
||||
- GoogleUtilities/AppDelegateSwizzler (6.5.1):
|
||||
- GoogleUtilities/Environment
|
||||
- GoogleUtilities/Logger
|
||||
- GoogleUtilities/Network
|
||||
- GoogleUtilities/Environment (6.5.1)
|
||||
- GoogleUtilities/Logger (6.5.1):
|
||||
- GoogleUtilities/Environment
|
||||
- GoogleUtilities/MethodSwizzler (6.5.1):
|
||||
- GoogleUtilities/Logger
|
||||
- GoogleUtilities/Network (6.5.1):
|
||||
- GoogleUtilities/Logger
|
||||
- "GoogleUtilities/NSData+zlib"
|
||||
- GoogleUtilities/Reachability
|
||||
- "GoogleUtilities/NSData+zlib (6.5.1)"
|
||||
- GoogleUtilities/Reachability (6.5.1):
|
||||
- GoogleUtilities/Logger
|
||||
- GoogleUtilities/UserDefaults (6.5.1):
|
||||
- GoogleUtilities/Logger
|
||||
- "gRPC-C++ (0.0.9)":
|
||||
- "gRPC-C++/Implementation (= 0.0.9)"
|
||||
- "gRPC-C++/Interface (= 0.0.9)"
|
||||
- "gRPC-C++/Implementation (0.0.9)":
|
||||
- "gRPC-C++/Interface (= 0.0.9)"
|
||||
- gRPC-Core (= 1.21.0)
|
||||
- nanopb (~> 0.3)
|
||||
- "gRPC-C++/Interface (0.0.9)"
|
||||
- gRPC-Core (1.21.0):
|
||||
- gRPC-Core/Implementation (= 1.21.0)
|
||||
- gRPC-Core/Interface (= 1.21.0)
|
||||
- gRPC-Core/Implementation (1.21.0):
|
||||
- BoringSSL-GRPC (= 0.0.3)
|
||||
- gRPC-Core/Interface (= 1.21.0)
|
||||
- nanopb (~> 0.3)
|
||||
- gRPC-Core/Interface (1.21.0)
|
||||
- GTMAppAuth (1.0.0):
|
||||
- AppAuth/Core (~> 1.0)
|
||||
- GTMSessionFetcher (~> 1.1)
|
||||
- GTMSessionFetcher (1.3.1):
|
||||
- GTMSessionFetcher/Full (= 1.3.1)
|
||||
- GTMSessionFetcher/Core (1.3.1)
|
||||
- GTMSessionFetcher/Full (1.3.1):
|
||||
- GTMSessionFetcher/Core (= 1.3.1)
|
||||
- leveldb-library (1.22)
|
||||
- nanopb (0.3.9011):
|
||||
- nanopb/decode (= 0.3.9011)
|
||||
- nanopb/encode (= 0.3.9011)
|
||||
- nanopb/decode (0.3.9011)
|
||||
- nanopb/encode (0.3.9011)
|
||||
- PromisesObjC (1.2.8)
|
||||
|
||||
DEPENDENCIES:
|
||||
- cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)
|
||||
- cloud_firestore_web (from `.symlinks/plugins/cloud_firestore_web/ios`)
|
||||
- firebase_auth (from `.symlinks/plugins/firebase_auth/ios`)
|
||||
- firebase_auth_web (from `.symlinks/plugins/firebase_auth_web/ios`)
|
||||
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
|
||||
- firebase_core_web (from `.symlinks/plugins/firebase_core_web/ios`)
|
||||
- Flutter (from `Flutter`)
|
||||
- google_sign_in (from `.symlinks/plugins/google_sign_in/ios`)
|
||||
- google_sign_in_web (from `.symlinks/plugins/google_sign_in_web/ios`)
|
||||
|
||||
SPEC REPOS:
|
||||
trunk:
|
||||
- abseil
|
||||
- AppAuth
|
||||
- BoringSSL-GRPC
|
||||
- Firebase
|
||||
- FirebaseAnalytics
|
||||
- FirebaseAuth
|
||||
- FirebaseAuthInterop
|
||||
- FirebaseCore
|
||||
- FirebaseCoreDiagnostics
|
||||
- FirebaseCoreDiagnosticsInterop
|
||||
- FirebaseFirestore
|
||||
- FirebaseInstallations
|
||||
- GoogleAppMeasurement
|
||||
- GoogleDataTransport
|
||||
- GoogleDataTransportCCTSupport
|
||||
- GoogleSignIn
|
||||
- GoogleUtilities
|
||||
- "gRPC-C++"
|
||||
- gRPC-Core
|
||||
- GTMAppAuth
|
||||
- GTMSessionFetcher
|
||||
- leveldb-library
|
||||
- nanopb
|
||||
- PromisesObjC
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
cloud_firestore:
|
||||
:path: ".symlinks/plugins/cloud_firestore/ios"
|
||||
cloud_firestore_web:
|
||||
:path: ".symlinks/plugins/cloud_firestore_web/ios"
|
||||
firebase_auth:
|
||||
:path: ".symlinks/plugins/firebase_auth/ios"
|
||||
firebase_auth_web:
|
||||
:path: ".symlinks/plugins/firebase_auth_web/ios"
|
||||
firebase_core:
|
||||
:path: ".symlinks/plugins/firebase_core/ios"
|
||||
firebase_core_web:
|
||||
:path: ".symlinks/plugins/firebase_core_web/ios"
|
||||
Flutter:
|
||||
:path: Flutter
|
||||
google_sign_in:
|
||||
:path: ".symlinks/plugins/google_sign_in/ios"
|
||||
google_sign_in_web:
|
||||
:path: ".symlinks/plugins/google_sign_in_web/ios"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
abseil: 18063d773f5366ff8736a050fe035a28f635fd27
|
||||
AppAuth: 73574f3013a1e65b9601a3ddc8b3158cce68c09d
|
||||
BoringSSL-GRPC: db8764df3204ccea016e1c8dd15d9a9ad63ff318
|
||||
cloud_firestore: 31454d48df21f3e1a900015e36143c0d46a304b7
|
||||
cloud_firestore_web: 9ec3dc7f5f98de5129339802d491c1204462bfec
|
||||
Firebase: 0490eca762a72e4f1582319539153897f1508dee
|
||||
firebase_auth: 4ee3a54d3f09434c508c284a62f895a741a30637
|
||||
firebase_auth_web: 0955c07bcc06e84af76b9d4e32e6f31518f2d7de
|
||||
firebase_core: 0d8be0e0d14c4902953aeb5ac5d7316d1fe4b978
|
||||
firebase_core_web: d501d8b946b60c8af265428ce483b0fff5ad52d1
|
||||
FirebaseAnalytics: 058d71e714a1a6804d9e0f25e3bb18e377a51579
|
||||
FirebaseAuth: 5ce2b03a3d7fe56b7a6e4c5ec7ff1522890b1d6f
|
||||
FirebaseAuthInterop: 0ffa57668be100582bb7643d4fcb7615496c41fc
|
||||
FirebaseCore: 78276943ad85e616dfa54dafa6c89512987d9d60
|
||||
FirebaseCoreDiagnostics: 2109d10c35e8289b1ee6cabf44d9ffb055620194
|
||||
FirebaseCoreDiagnosticsInterop: 296e2c5f5314500a850ad0b83e9e7c10b011a850
|
||||
FirebaseFirestore: a23d596ae3a8c13d3b8353b565d2adfb690f9032
|
||||
FirebaseInstallations: 575cd32f2aec0feeb0e44f5d0110a09e5e60b47b
|
||||
Flutter: 0e3d915762c693b495b44d77113d4970485de6ec
|
||||
google_sign_in: f32920a589fdf4ab2918ec6dc5e5b0d5b8040ff5
|
||||
google_sign_in_web: 52deb24929ac0992baff65c57956031c44ed44c3
|
||||
GoogleAppMeasurement: 39ecba10918b21c83877d392246157f65db351cf
|
||||
GoogleDataTransport: 653963cf5be60fb59cf051e070f0836fdc305f81
|
||||
GoogleDataTransportCCTSupport: 84e4d4bbab642f2e9d83ee65d78aca2b5527d314
|
||||
GoogleSignIn: 7137d297ddc022a7e0aa4619c86d72c909fa7213
|
||||
GoogleUtilities: 06eb53bb579efe7099152735900dd04bf09e7275
|
||||
"gRPC-C++": 9dfe7b44821e7b3e44aacad2af29d2c21f7cde83
|
||||
gRPC-Core: c9aef9a261a1247e881b18059b84d597293c9947
|
||||
GTMAppAuth: 4deac854479704f348309e7b66189e604cf5e01e
|
||||
GTMSessionFetcher: cea130bbfe5a7edc8d06d3f0d17288c32ffe9925
|
||||
leveldb-library: 55d93ee664b4007aac644a782d11da33fba316f7
|
||||
nanopb: 18003b5e52dab79db540fe93fe9579f399bd1ccd
|
||||
PromisesObjC: c119f3cd559f50b7ae681fa59dc1acd19173b7e6
|
||||
|
||||
PODFILE CHECKSUM: c34e2287a9ccaa606aeceab922830efb9a6ff69a
|
||||
|
||||
COCOAPODS: 1.9.1
|
||||
@@ -8,12 +8,9 @@
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
||||
385270C76FB0F533A7165A2E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 64BDA6743063ECE1AA5E480E /* Pods_Runner.framework */; };
|
||||
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
|
||||
3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
|
||||
3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
|
||||
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
|
||||
9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
||||
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
||||
@@ -26,8 +23,6 @@
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */,
|
||||
9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -35,21 +30,23 @@
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
08134052407BF94155A97FD0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||
3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
|
||||
46DCF2E0FFA915CFF3790E62 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
||||
64BDA6743063ECE1AA5E480E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = "<group>"; };
|
||||
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
E61020DFA7983C4F990D457D /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -57,8 +54,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
|
||||
3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
|
||||
385270C76FB0F533A7165A2E /* Pods_Runner.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -68,9 +64,7 @@
|
||||
9740EEB11CF90186004384FC /* Flutter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3B80C3931E831B6300D905FE /* App.framework */,
|
||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
|
||||
9740EEBA1CF902C7004384FC /* Flutter.framework */,
|
||||
9740EEB21CF90195004384FC /* Debug.xcconfig */,
|
||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
|
||||
9740EEB31CF90195004384FC /* Generated.xcconfig */,
|
||||
@@ -84,6 +78,8 @@
|
||||
9740EEB11CF90186004384FC /* Flutter */,
|
||||
97C146F01CF9000F007C117D /* Runner */,
|
||||
97C146EF1CF9000F007C117D /* Products */,
|
||||
C968A41427A6C202DE27F5B1 /* Pods */,
|
||||
D15429FA0FA3908CDDF0F16E /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
@@ -118,6 +114,25 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
C968A41427A6C202DE27F5B1 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E61020DFA7983C4F990D457D /* Pods-Runner.debug.xcconfig */,
|
||||
46DCF2E0FFA915CFF3790E62 /* Pods-Runner.release.xcconfig */,
|
||||
08134052407BF94155A97FD0 /* Pods-Runner.profile.xcconfig */,
|
||||
);
|
||||
name = Pods;
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D15429FA0FA3908CDDF0F16E /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
64BDA6743063ECE1AA5E480E /* Pods_Runner.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -125,12 +140,15 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
||||
buildPhases = (
|
||||
AC382224AC8D58F121CB73F0 /* [CP] Check Pods Manifest.lock */,
|
||||
9740EEB61CF901F6004384FC /* Run Script */,
|
||||
97C146EA1CF9000F007C117D /* Sources */,
|
||||
97C146EB1CF9000F007C117D /* Frameworks */,
|
||||
97C146EC1CF9000F007C117D /* Resources */,
|
||||
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
||||
7028144C5268179DEEEA28F6 /* [CP] Embed Pods Frameworks */,
|
||||
98E026760D1C31FD88E5C2A0 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -201,7 +219,47 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
|
||||
};
|
||||
7028144C5268179DEEEA28F6 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
|
||||
"${BUILT_PRODUCTS_DIR}/AppAuth/AppAuth.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/BoringSSL-GRPC/openssl_grpc.framework",
|
||||
"${PODS_ROOT}/../Flutter/Flutter.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/GTMAppAuth/GTMAppAuth.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/GTMSessionFetcher/GTMSessionFetcher.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/abseil/absl.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/gRPC-C++/grpcpp.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/gRPC-Core/grpc.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/leveldb-library/leveldb.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AppAuth.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl_grpc.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMAppAuth.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/absl.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/grpcpp.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/grpc.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/leveldb.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
@@ -217,6 +275,46 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
|
||||
};
|
||||
98E026760D1C31FD88E5C2A0 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh",
|
||||
"${PODS_ROOT}/GoogleSignIn/Resources/GoogleSignIn.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
AC382224AC8D58F121CB73F0 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
|
||||
@@ -4,4 +4,7 @@
|
||||
<FileRef
|
||||
location = "group:Runner.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Pods/Pods.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
|
||||
Reference in New Issue
Block a user