diff --git a/CODEOWNERS b/CODEOWNERS index 39f3be931cfa..f128098711f9 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -49,7 +49,7 @@ packages/image_picker/image_picker_ios/** @vashworth packages/in_app_purchase/in_app_purchase_storekit/** @cyanglaz packages/ios_platform_images/ios/** @jmagman packages/local_auth/local_auth_ios/** @hellohuanlin -packages/path_provider/path_provider_ios/** @jmagman +packages/path_provider/path_provider_foundation/** @jmagman packages/quick_actions/quick_actions_ios/** @hellohuanlin packages/shared_preferences/shared_preferences_foundation/** @cyanglaz packages/url_launcher/url_launcher_ios/** @jmagman @@ -64,7 +64,6 @@ packages/url_launcher/url_launcher_linux/** @cbracken # - macOS packages/file_selector/file_selector_macos/** @cbracken -packages/path_provider/path_provider_macos/** @cbracken packages/url_launcher/url_launcher_macos/** @cbracken # - Windows diff --git a/packages/path_provider/path_provider_macos/.gitignore b/packages/path_provider/path_provider_foundation/.gitignore similarity index 100% rename from packages/path_provider/path_provider_macos/.gitignore rename to packages/path_provider/path_provider_foundation/.gitignore diff --git a/packages/path_provider/path_provider_ios/AUTHORS b/packages/path_provider/path_provider_foundation/AUTHORS similarity index 100% rename from packages/path_provider/path_provider_ios/AUTHORS rename to packages/path_provider/path_provider_foundation/AUTHORS diff --git a/packages/path_provider/path_provider_foundation/CHANGELOG.md b/packages/path_provider/path_provider_foundation/CHANGELOG.md new file mode 100644 index 000000000000..fbdd426ba46d --- /dev/null +++ b/packages/path_provider/path_provider_foundation/CHANGELOG.md @@ -0,0 +1,5 @@ +## 2.1.0 + +* Renames the package previously published as + [`path_provider_macos`](https://pub.dev/packages/path_provider_macos) +* Adds iOS support. diff --git a/packages/path_provider/path_provider_ios/LICENSE b/packages/path_provider/path_provider_foundation/LICENSE similarity index 100% rename from packages/path_provider/path_provider_ios/LICENSE rename to packages/path_provider/path_provider_foundation/LICENSE diff --git a/packages/path_provider/path_provider_ios/README.md b/packages/path_provider/path_provider_foundation/README.md similarity index 78% rename from packages/path_provider/path_provider_ios/README.md rename to packages/path_provider/path_provider_foundation/README.md index dcfa06dcdfb0..474244b27aea 100644 --- a/packages/path_provider/path_provider_ios/README.md +++ b/packages/path_provider/path_provider_foundation/README.md @@ -1,6 +1,6 @@ -# path\_provider\_ios +# path\_provider\_foundation -The iOS implementation of [`path_provider`][1]. +The iOS and macOS implementation of [`path_provider`][1]. ## Usage diff --git a/packages/path_provider/path_provider_macos/macos/Classes/PathProviderPlugin.swift b/packages/path_provider/path_provider_foundation/darwin/Classes/PathProviderPlugin.swift similarity index 84% rename from packages/path_provider/path_provider_macos/macos/Classes/PathProviderPlugin.swift rename to packages/path_provider/path_provider_foundation/darwin/Classes/PathProviderPlugin.swift index 9d43ce7ee7a7..770bcb31c529 100644 --- a/packages/path_provider/path_provider_macos/macos/Classes/PathProviderPlugin.swift +++ b/packages/path_provider/path_provider_foundation/darwin/Classes/PathProviderPlugin.swift @@ -2,13 +2,24 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import FlutterMacOS import Foundation +#if os(iOS) +import Flutter +#elseif os(macOS) +import FlutterMacOS +#endif + public class PathProviderPlugin: NSObject, FlutterPlugin, PathProviderApi { public static func register(with registrar: FlutterPluginRegistrar) { let instance = PathProviderPlugin() - PathProviderApiSetup.setUp(binaryMessenger: registrar.messenger, api: instance) + // Workaround for https://github.com/flutter/flutter/issues/118103. +#if os(iOS) + let messenger = registrar.messenger() +#else + let messenger = registrar.messenger +#endif + PathProviderApiSetup.setUp(binaryMessenger: messenger, api: instance) } func getDirectoryPath(type: DirectoryType) -> String? { diff --git a/packages/path_provider/path_provider_macos/macos/Classes/messages.g.swift b/packages/path_provider/path_provider_foundation/darwin/Classes/messages.g.swift similarity index 100% rename from packages/path_provider/path_provider_macos/macos/Classes/messages.g.swift rename to packages/path_provider/path_provider_foundation/darwin/Classes/messages.g.swift diff --git a/packages/path_provider/path_provider_macos/example/macos/RunnerTests/RunnerTests.swift b/packages/path_provider/path_provider_foundation/darwin/Tests/RunnerTests.swift similarity index 96% rename from packages/path_provider/path_provider_macos/example/macos/RunnerTests/RunnerTests.swift rename to packages/path_provider/path_provider_foundation/darwin/Tests/RunnerTests.swift index 1fb4677b5cc6..1f3e790ca1eb 100644 --- a/packages/path_provider/path_provider_macos/example/macos/RunnerTests/RunnerTests.swift +++ b/packages/path_provider/path_provider_foundation/darwin/Tests/RunnerTests.swift @@ -2,9 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import FlutterMacOS import XCTest -@testable import path_provider_macos +@testable import path_provider_foundation + +#if os(iOS) +import Flutter +#elseif os(macOS) +import FlutterMacOS +#endif class RunnerTests: XCTestCase { func testGetTemporaryDirectory() throws { diff --git a/packages/path_provider/path_provider_foundation/darwin/path_provider_foundation.podspec b/packages/path_provider/path_provider_foundation/darwin/path_provider_foundation.podspec new file mode 100644 index 000000000000..36093b567fb9 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/darwin/path_provider_foundation.podspec @@ -0,0 +1,25 @@ +# +# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html +# +Pod::Spec.new do |s| + s.name = 'path_provider_foundation' + s.version = '0.0.1' + s.summary = 'An iOS and macOS implementation of the path_provider plugin.' + s.description = <<-DESC + An iOS and macOS implementation of the Flutter plugin for getting commonly used locations on the filesystem. + DESC + s.homepage = 'https://github.com/flutter/plugins/tree/main/packages/path_provider/path_provider_foundation' + s.license = { :type => 'BSD', :file => '../LICENSE' } + s.author = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' } + s.source = { :http => 'https://github.com/flutter/plugins/tree/main/packages/path_provider/path_provider_foundation' } + s.source_files = 'Classes/**/*' + s.ios.dependency 'Flutter' + s.osx.dependency 'FlutterMacOS' + s.ios.deployment_target = '9.0' + s.osx.deployment_target = '10.11' + s.ios.xcconfig = { + 'LIBRARY_SEARCH_PATHS' => '$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)/ $(SDKROOT)/usr/lib/swift', + 'LD_RUNPATH_SEARCH_PATHS' => '/usr/lib/swift', + } + s.swift_version = '5.0' +end diff --git a/packages/path_provider/path_provider_ios/example/README.md b/packages/path_provider/path_provider_foundation/example/README.md similarity index 100% rename from packages/path_provider/path_provider_ios/example/README.md rename to packages/path_provider/path_provider_foundation/example/README.md diff --git a/packages/path_provider/path_provider_macos/example/integration_test/path_provider_test.dart b/packages/path_provider/path_provider_foundation/example/integration_test/path_provider_test.dart similarity index 100% rename from packages/path_provider/path_provider_macos/example/integration_test/path_provider_test.dart rename to packages/path_provider/path_provider_foundation/example/integration_test/path_provider_test.dart diff --git a/packages/path_provider/path_provider_foundation/example/ios/.gitignore b/packages/path_provider/path_provider_foundation/example/ios/.gitignore new file mode 100644 index 000000000000..7a7f9873ad7d --- /dev/null +++ b/packages/path_provider/path_provider_foundation/example/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/packages/path_provider/path_provider_ios/example/ios/Flutter/AppFrameworkInfo.plist b/packages/path_provider/path_provider_foundation/example/ios/Flutter/AppFrameworkInfo.plist similarity index 86% rename from packages/path_provider/path_provider_ios/example/ios/Flutter/AppFrameworkInfo.plist rename to packages/path_provider/path_provider_foundation/example/ios/Flutter/AppFrameworkInfo.plist index 3a9c234f96d4..9625e105df39 100644 --- a/packages/path_provider/path_provider_ios/example/ios/Flutter/AppFrameworkInfo.plist +++ b/packages/path_provider/path_provider_foundation/example/ios/Flutter/AppFrameworkInfo.plist @@ -20,11 +20,7 @@ ???? CFBundleVersion 1.0 - UIRequiredDeviceCapabilities - - arm64 - MinimumOSVersion - 9.0 + 11.0 diff --git a/packages/path_provider/path_provider_foundation/example/ios/Flutter/Debug.xcconfig b/packages/path_provider/path_provider_foundation/example/ios/Flutter/Debug.xcconfig new file mode 100644 index 000000000000..ec97fc6f3021 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/example/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/packages/path_provider/path_provider_foundation/example/ios/Flutter/Release.xcconfig b/packages/path_provider/path_provider_foundation/example/ios/Flutter/Release.xcconfig new file mode 100644 index 000000000000..c4855bfe2000 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/example/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/packages/path_provider/path_provider_ios/example/ios/Podfile b/packages/path_provider/path_provider_foundation/example/ios/Podfile similarity index 95% rename from packages/path_provider/path_provider_ios/example/ios/Podfile rename to packages/path_provider/path_provider_foundation/example/ios/Podfile index 3924e59aa0f9..211fcba3d000 100644 --- a/packages/path_provider/path_provider_ios/example/ios/Podfile +++ b/packages/path_provider/path_provider_foundation/example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '9.0' +# platform :ios, '11.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' @@ -28,7 +28,11 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe flutter_ios_podfile_setup target 'Runner' do + use_frameworks! + use_modular_headers! + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do inherit! :search_paths end diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner.xcodeproj/project.pbxproj b/packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/project.pbxproj similarity index 60% rename from packages/path_provider/path_provider_ios/example/ios/Runner.xcodeproj/project.pbxproj rename to packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/project.pbxproj index 601985b46ae6..866a166bbe45 100644 --- a/packages/path_provider/path_provider_ios/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/project.pbxproj @@ -3,24 +3,23 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 51; objects = { /* Begin PBXBuildFile section */ - 2D9222481EC32A19007564B0 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D9222471EC32A19007564B0 /* GeneratedPluginRegistrant.m */; }; + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3380327729784D96002D32AE /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3380327629784D96002D32AE /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 60774162343BF6F19B3D65CE /* libPods-RunnerTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E2EF24BBF807F7F7B95F2B9 /* libPods-RunnerTests.a */; }; - 85DDFCF6BBDEE02B9D9F8138 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C0EE60090AA5F3AAAF2175B6 /* libPods-Runner.a */; }; - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; - 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; + 569E86265D93B926F433B2DF /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 479D5DD53D431F6BBABA2E43 /* Pods_Runner.framework */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 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 */; }; - F76AC1DF26671E960040C8BC /* PathProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F76AC1DE26671E960040C8BC /* PathProviderTests.m */; }; + D18DAAE2A3406D4789C8DAB2 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 988A82A3033B36B9EAF2782B /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - F76AC1E126671E960040C8BC /* PBXContainerItemProxy */ = { + 3380327829784D96002D32AE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 97C146E61CF9000F007C117D /* Project object */; proxyType = 1; @@ -43,60 +42,57 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0E2EF24BBF807F7F7B95F2B9 /* libPods-RunnerTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RunnerTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 29F2567B3AE74A9113ED3394 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 2D9222461EC32A19007564B0 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 2D9222471EC32A19007564B0 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 1E28C831B7D8EA9408BFB69A /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 3380327429784D96002D32AE /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3380327629784D96002D32AE /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = RunnerTests.swift; path = ../../../darwin/Tests/RunnerTests.swift; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 694A199F61914F41AAFD0B7F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 6EB685EA3DDA2EED39600D11 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 479D5DD53D431F6BBABA2E43 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5DB8EF5A2759054360D79B8D /* 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 = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 86F7986E9DC17432CC8AE464 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 91DA83C3D33EB641BAEA3087 /* 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 = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C0EE60090AA5F3AAAF2175B6 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - D317CA1E83064E01753D8BB5 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - F76AC1DC26671E960040C8BC /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - F76AC1DE26671E960040C8BC /* PathProviderTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PathProviderTests.m; sourceTree = ""; }; - F76AC1E026671E960040C8BC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 988A82A3033B36B9EAF2782B /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B0CB6DC5569DDEB858FBEB22 /* 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 = ""; }; + C1E50EBAA845915BAF5591C9 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 3380327129784D96002D32AE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 85DDFCF6BBDEE02B9D9F8138 /* libPods-Runner.a in Frameworks */, + D18DAAE2A3406D4789C8DAB2 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - F76AC1D926671E960040C8BC /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 60774162343BF6F19B3D65CE /* libPods-RunnerTests.a in Frameworks */, + 569E86265D93B926F433B2DF /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 840012C8B5EDBCF56B0E4AC1 /* Pods */ = { + 3380327529784D96002D32AE /* RunnerTests */ = { isa = PBXGroup; children = ( - 694A199F61914F41AAFD0B7F /* Pods-Runner.debug.xcconfig */, - D317CA1E83064E01753D8BB5 /* Pods-Runner.release.xcconfig */, - 6EB685EA3DDA2EED39600D11 /* Pods-RunnerTests.debug.xcconfig */, - 29F2567B3AE74A9113ED3394 /* Pods-RunnerTests.release.xcconfig */, + 3380327629784D96002D32AE /* RunnerTests.swift */, ); - name = Pods; + path = RunnerTests; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -115,10 +111,10 @@ children = ( 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, - F76AC1DD26671E960040C8BC /* RunnerTests */, + 3380327529784D96002D32AE /* RunnerTests */, 97C146EF1CF9000F007C117D /* Products */, - 840012C8B5EDBCF56B0E4AC1 /* Pods */, - CF3B75C9A7D2FA2A4C99F110 /* Frameworks */, + E1C876D20454FC3A1ED7F7E5 /* Pods */, + C72F144CE69E83C4574EB334 /* Frameworks */, ); sourceTree = ""; }; @@ -126,7 +122,7 @@ isa = PBXGroup; children = ( 97C146EE1CF9000F007C117D /* Runner.app */, - F76AC1DC26671E960040C8BC /* RunnerTests.xctest */, + 3380327429784D96002D32AE /* RunnerTests.xctest */, ); name = Products; sourceTree = ""; @@ -134,59 +130,74 @@ 97C146F01CF9000F007C117D /* Runner */ = { isa = PBXGroup; children = ( - 2D9222461EC32A19007564B0 /* GeneratedPluginRegistrant.h */, - 2D9222471EC32A19007564B0 /* GeneratedPluginRegistrant.m */, - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, 97C146FA1CF9000F007C117D /* Main.storyboard */, 97C146FD1CF9000F007C117D /* Assets.xcassets */, 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, 97C147021CF9000F007C117D /* Info.plist */, - 97C146F11CF9000F007C117D /* Supporting Files */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, ); path = Runner; sourceTree = ""; }; - 97C146F11CF9000F007C117D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 97C146F21CF9000F007C117D /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - CF3B75C9A7D2FA2A4C99F110 /* Frameworks */ = { + C72F144CE69E83C4574EB334 /* Frameworks */ = { isa = PBXGroup; children = ( - C0EE60090AA5F3AAAF2175B6 /* libPods-Runner.a */, - 0E2EF24BBF807F7F7B95F2B9 /* libPods-RunnerTests.a */, + 479D5DD53D431F6BBABA2E43 /* Pods_Runner.framework */, + 988A82A3033B36B9EAF2782B /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; }; - F76AC1DD26671E960040C8BC /* RunnerTests */ = { + E1C876D20454FC3A1ED7F7E5 /* Pods */ = { isa = PBXGroup; children = ( - F76AC1DE26671E960040C8BC /* PathProviderTests.m */, - F76AC1E026671E960040C8BC /* Info.plist */, - ); - path = RunnerTests; + 5DB8EF5A2759054360D79B8D /* Pods-Runner.debug.xcconfig */, + B0CB6DC5569DDEB858FBEB22 /* Pods-Runner.release.xcconfig */, + 91DA83C3D33EB641BAEA3087 /* Pods-Runner.profile.xcconfig */, + 1E28C831B7D8EA9408BFB69A /* Pods-RunnerTests.debug.xcconfig */, + C1E50EBAA845915BAF5591C9 /* Pods-RunnerTests.release.xcconfig */, + 86F7986E9DC17432CC8AE464 /* Pods-RunnerTests.profile.xcconfig */, + ); + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ + 3380327329784D96002D32AE /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3380327D29784D96002D32AE /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 9144B1C9B36C0B00C1DF8FBB /* [CP] Check Pods Manifest.lock */, + 3380327029784D96002D32AE /* Sources */, + 3380327129784D96002D32AE /* Frameworks */, + 3380327229784D96002D32AE /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 3380327929784D96002D32AE /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 3380327429784D96002D32AE /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; 97C146ED1CF9000F007C117D /* Runner */ = { isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - AB1344B0443C71CD721E1BB7 /* [CP] Check Pods Manifest.lock */, + 45F307B61DA47FC553C87CA6 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 246FA3B3BBF06301555F5A51 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -197,46 +208,28 @@ productReference = 97C146EE1CF9000F007C117D /* Runner.app */; productType = "com.apple.product-type.application"; }; - F76AC1DB26671E960040C8BC /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = F76AC1E526671E960040C8BC /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 31566AD39C1C7EF9EB261E6F /* [CP] Check Pods Manifest.lock */, - F76AC1D826671E960040C8BC /* Sources */, - F76AC1D926671E960040C8BC /* Frameworks */, - F76AC1DA26671E960040C8BC /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - F76AC1E226671E960040C8BC /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = F76AC1DC26671E960040C8BC /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { + LastSwiftUpdateCheck = 1400; LastUpgradeCheck = 1300; - ORGANIZATIONNAME = "The Flutter Authors"; + ORGANIZATIONNAME = ""; TargetAttributes = { + 3380327329784D96002D32AE = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; 97C146ED1CF9000F007C117D = { CreatedOnToolsVersion = 7.3.1; - }; - F76AC1DB26671E960040C8BC = { - CreatedOnToolsVersion = 12.5; - ProvisioningStyle = Automatic; - TestTargetID = 97C146ED1CF9000F007C117D; + LastSwiftMigration = 1100; }; }; }; buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 3.2"; + compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -249,53 +242,48 @@ projectRoot = ""; targets = ( 97C146ED1CF9000F007C117D /* Runner */, - F76AC1DB26671E960040C8BC /* RunnerTests */, + 3380327329784D96002D32AE /* RunnerTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { + 3380327229784D96002D32AE /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - F76AC1DA26671E960040C8BC /* Resources */ = { + 97C146EC1CF9000F007C117D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 31566AD39C1C7EF9EB261E6F /* [CP] Check Pods Manifest.lock */ = { + 246FA3B3BBF06301555F5A51 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); 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"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { @@ -312,66 +300,91 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 45F307B61DA47FC553C87CA6 /* [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 = ( ); - name = "Run Script"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + 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; }; - AB1344B0443C71CD721E1BB7 /* [CP] Check Pods Manifest.lock */ = { + 9144B1C9B36C0B00C1DF8FBB /* [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", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-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; }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { + 3380327029784D96002D32AE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, - 97C146F31CF9000F007C117D /* main.m in Sources */, - 2D9222481EC32A19007564B0 /* GeneratedPluginRegistrant.m in Sources */, + 3380327729784D96002D32AE /* RunnerTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - F76AC1D826671E960040C8BC /* Sources */ = { + 97C146EA1CF9000F007C117D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F76AC1DF26671E960040C8BC /* PathProviderTests.m in Sources */, + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - F76AC1E226671E960040C8BC /* PBXTargetDependency */ = { + 3380327929784D96002D32AE /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 97C146ED1CF9000F007C117D /* Runner */; - targetProxy = F76AC1E126671E960040C8BC /* PBXContainerItemProxy */; + targetProxy = 3380327829784D96002D32AE /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -395,11 +408,126 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.pathProviderFoundationExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 3380327A29784D96002D32AE /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1E28C831B7D8EA9408BFB69A /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 3380327B29784D96002D32AE /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C1E50EBAA845915BAF5591C9 /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 3380327C29784D96002D32AE /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 86F7986E9DC17432CC8AE464 /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; 97C147031CF9000F007C117D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -443,7 +571,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -455,7 +583,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -493,9 +620,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -506,20 +636,20 @@ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Flutter", + "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.pathProviderExample; + PRODUCT_BUNDLE_IDENTIFIER = com.example.pathProviderFoundationExample; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; }; @@ -528,77 +658,51 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Flutter", + "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.pathProviderExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - F76AC1E326671E960040C8BC /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6EB685EA3DDA2EED39600D11 /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = RunnerTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/Runner"; - }; - name = Debug; - }; - F76AC1E426671E960040C8BC /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 29F2567B3AE74A9113ED3394 /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = RunnerTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = com.example.pathProviderFoundationExample; PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/Runner"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + 3380327D29784D96002D32AE /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, + 3380327A29784D96002D32AE /* Debug */, + 3380327B29784D96002D32AE /* Release */, + 3380327C29784D96002D32AE /* Profile */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { isa = XCConfigurationList; buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F76AC1E526671E960040C8BC /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { isa = XCConfigurationList; buildConfigurations = ( - F76AC1E326671E960040C8BC /* Debug */, - F76AC1E426671E960040C8BC /* Release */, + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000000..f9b0d7c5ea15 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 95% rename from packages/path_provider/path_provider_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index ec3713b95db5..b5d62ddeb711 100644 --- a/packages/path_provider/path_provider_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -38,10 +38,11 @@ + skipped = "NO" + parallelizable = "YES"> @@ -71,7 +72,7 @@ + + + + PreviewsEnabled + + + diff --git a/packages/path_provider/path_provider_foundation/example/ios/Runner/AppDelegate.swift b/packages/path_provider/path_provider_foundation/example/ios/Runner/AppDelegate.swift new file mode 100644 index 000000000000..caf998393333 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner/AppDelegate.swift @@ -0,0 +1,17 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 94% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json index d22f10b2ab63..d36b1fab2d9d 100644 --- a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -107,6 +107,12 @@ "idiom" : "ipad", "filename" : "Icon-App-83.5x83.5@2x.png", "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" } ], "info" : { diff --git a/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 000000000000..dc9ada4725e9 Binary files /dev/null and b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png diff --git a/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 000000000000..0bedcf2fd467 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 000000000000..9da19eacad3b Binary files /dev/null and b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png differ diff --git a/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 000000000000..9da19eacad3b Binary files /dev/null and b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png differ diff --git a/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 000000000000..9da19eacad3b Binary files /dev/null and b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png differ diff --git a/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 000000000000..89c2725b70f1 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/path_provider/path_provider_foundation/example/ios/Runner/Base.lproj/LaunchScreen.storyboard similarity index 51% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Base.lproj/LaunchScreen.storyboard rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Base.lproj/LaunchScreen.storyboard index ebf48f603974..f2e259c7c939 100644 --- a/packages/path_provider/path_provider_ios/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -1,8 +1,8 @@ - + - + @@ -10,13 +10,20 @@ - - + + - - + + + + + + + + + @@ -24,4 +31,7 @@ + + + diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Base.lproj/Main.storyboard b/packages/path_provider/path_provider_foundation/example/ios/Runner/Base.lproj/Main.storyboard similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Base.lproj/Main.storyboard rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Base.lproj/Main.storyboard diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/Info.plist b/packages/path_provider/path_provider_foundation/example/ios/Runner/Info.plist similarity index 78% rename from packages/path_provider/path_provider_ios/example/ios/Runner/Info.plist rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Info.plist index 342db6a5dcaf..5bdb9bcc0635 100644 --- a/packages/path_provider/path_provider_ios/example/ios/Runner/Info.plist +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner/Info.plist @@ -3,7 +3,9 @@ CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Path Provider Foundation CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -11,25 +13,21 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - path_provider_example + path_provider_foundation_example CFBundlePackageType APPL CFBundleShortVersionString - 1.0 + $(FLUTTER_BUILD_NAME) CFBundleSignature ???? CFBundleVersion - 1 + $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS UILaunchStoryboardName LaunchScreen UIMainStoryboardFile Main - UIRequiredDeviceCapabilities - - arm64 - UISupportedInterfaceOrientations UIInterfaceOrientationPortrait @@ -45,5 +43,9 @@ UIViewControllerBasedStatusBarAppearance + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + diff --git a/packages/path_provider/path_provider_ios/ios/Classes/FLTPathProviderPlugin.h b/packages/path_provider/path_provider_foundation/example/ios/Runner/Runner-Bridging-Header.h similarity index 63% rename from packages/path_provider/path_provider_ios/ios/Classes/FLTPathProviderPlugin.h rename to packages/path_provider/path_provider_foundation/example/ios/Runner/Runner-Bridging-Header.h index 8f9fd4597f9d..eb7e8ba8052f 100644 --- a/packages/path_provider/path_provider_ios/ios/Classes/FLTPathProviderPlugin.h +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner/Runner-Bridging-Header.h @@ -2,7 +2,4 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import - -@interface FLTPathProviderPlugin : NSObject -@end +#import "GeneratedPluginRegistrant.h" diff --git a/packages/path_provider/path_provider_macos/example/lib/main.dart b/packages/path_provider/path_provider_foundation/example/lib/main.dart similarity index 88% rename from packages/path_provider/path_provider_macos/example/lib/main.dart rename to packages/path_provider/path_provider_foundation/example/lib/main.dart index 13a6fada5fef..cc3fc13de89f 100644 --- a/packages/path_provider/path_provider_macos/example/lib/main.dart +++ b/packages/path_provider/path_provider_foundation/example/lib/main.dart @@ -22,6 +22,7 @@ class MyApp extends StatefulWidget { class _MyAppState extends State { String? _tempDirectory = 'Unknown'; String? _downloadsDirectory = 'Unknown'; + String? _libraryDirectory = 'Unknown'; String? _appSupportDirectory = 'Unknown'; String? _documentsDirectory = 'Unknown'; @@ -36,6 +37,7 @@ class _MyAppState extends State { String? tempDirectory; String? downloadsDirectory; String? appSupportDirectory; + String? libraryDirectory; String? documentsDirectory; final PathProviderPlatform provider = PathProviderPlatform.instance; @@ -56,6 +58,12 @@ class _MyAppState extends State { documentsDirectory = 'Failed to get documents directory: $exception'; } + try { + libraryDirectory = await provider.getLibraryPath(); + } catch (exception) { + libraryDirectory = 'Failed to get library directory: $exception'; + } + try { appSupportDirectory = await provider.getApplicationSupportPath(); } catch (exception) { @@ -65,6 +73,7 @@ class _MyAppState extends State { setState(() { _tempDirectory = tempDirectory; _downloadsDirectory = downloadsDirectory; + _libraryDirectory = libraryDirectory; _appSupportDirectory = appSupportDirectory; _documentsDirectory = documentsDirectory; }); @@ -83,6 +92,7 @@ class _MyAppState extends State { Text('Temp Directory: $_tempDirectory\n'), Text('Documents Directory: $_documentsDirectory\n'), Text('Downloads Directory: $_downloadsDirectory\n'), + Text('Library Directory: $_libraryDirectory\n'), Text('Application Support Directory: $_appSupportDirectory\n'), ], ), diff --git a/packages/path_provider/path_provider_macos/example/macos/Flutter/Flutter-Debug.xcconfig b/packages/path_provider/path_provider_foundation/example/macos/Flutter/Flutter-Debug.xcconfig similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Flutter/Flutter-Debug.xcconfig rename to packages/path_provider/path_provider_foundation/example/macos/Flutter/Flutter-Debug.xcconfig diff --git a/packages/path_provider/path_provider_macos/example/macos/Flutter/Flutter-Release.xcconfig b/packages/path_provider/path_provider_foundation/example/macos/Flutter/Flutter-Release.xcconfig similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Flutter/Flutter-Release.xcconfig rename to packages/path_provider/path_provider_foundation/example/macos/Flutter/Flutter-Release.xcconfig diff --git a/packages/path_provider/path_provider_macos/example/macos/Podfile b/packages/path_provider/path_provider_foundation/example/macos/Podfile similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Podfile rename to packages/path_provider/path_provider_foundation/example/macos/Podfile diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner.xcodeproj/project.pbxproj b/packages/path_provider/path_provider_foundation/example/macos/Runner.xcodeproj/project.pbxproj similarity index 99% rename from packages/path_provider/path_provider_macos/example/macos/Runner.xcodeproj/project.pbxproj rename to packages/path_provider/path_provider_foundation/example/macos/Runner.xcodeproj/project.pbxproj index a63463993c6e..54b137e735f2 100644 --- a/packages/path_provider/path_provider_macos/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/path_provider/path_provider_foundation/example/macos/Runner.xcodeproj/project.pbxproj @@ -82,7 +82,7 @@ 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; 33EBD3A726728EA70013E557 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 33EBD3A926728EA70013E557 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 33EBD3A926728EA70013E557 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ../../../darwin/Tests/RunnerTests.swift; sourceTree = ""; }; 33EBD3AB26728EA70013E557 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 46139048DB9F59D473B61B5E /* 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 = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; @@ -367,11 +367,11 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/path_provider_macos/path_provider_macos.framework", + "${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_macos.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/path_provider/path_provider_foundation/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to packages/path_provider/path_provider_foundation/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/packages/path_provider/path_provider_foundation/example/macos/Runner.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner.xcworkspace/contents.xcworkspacedata rename to packages/path_provider/path_provider_foundation/example/macos/Runner.xcworkspace/contents.xcworkspacedata diff --git a/packages/path_provider/path_provider_foundation/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/path_provider/path_provider_foundation/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000000..18d981003d68 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/AppDelegate.swift b/packages/path_provider/path_provider_foundation/example/macos/Runner/AppDelegate.swift similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/AppDelegate.swift rename to packages/path_provider/path_provider_foundation/example/macos/Runner/AppDelegate.swift diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Base.lproj/MainMenu.xib b/packages/path_provider/path_provider_foundation/example/macos/Runner/Base.lproj/MainMenu.xib similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Base.lproj/MainMenu.xib rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Base.lproj/MainMenu.xib diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Configs/AppInfo.xcconfig b/packages/path_provider/path_provider_foundation/example/macos/Runner/Configs/AppInfo.xcconfig similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Configs/AppInfo.xcconfig rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Configs/AppInfo.xcconfig diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Configs/Debug.xcconfig b/packages/path_provider/path_provider_foundation/example/macos/Runner/Configs/Debug.xcconfig similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Configs/Debug.xcconfig rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Configs/Debug.xcconfig diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Configs/Release.xcconfig b/packages/path_provider/path_provider_foundation/example/macos/Runner/Configs/Release.xcconfig similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Configs/Release.xcconfig rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Configs/Release.xcconfig diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Configs/Warnings.xcconfig b/packages/path_provider/path_provider_foundation/example/macos/Runner/Configs/Warnings.xcconfig similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Configs/Warnings.xcconfig rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Configs/Warnings.xcconfig diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/DebugProfile.entitlements b/packages/path_provider/path_provider_foundation/example/macos/Runner/DebugProfile.entitlements similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/DebugProfile.entitlements rename to packages/path_provider/path_provider_foundation/example/macos/Runner/DebugProfile.entitlements diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Info.plist b/packages/path_provider/path_provider_foundation/example/macos/Runner/Info.plist similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Info.plist rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Info.plist diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/MainFlutterWindow.swift b/packages/path_provider/path_provider_foundation/example/macos/Runner/MainFlutterWindow.swift similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/MainFlutterWindow.swift rename to packages/path_provider/path_provider_foundation/example/macos/Runner/MainFlutterWindow.swift diff --git a/packages/path_provider/path_provider_macos/example/macos/Runner/Release.entitlements b/packages/path_provider/path_provider_foundation/example/macos/Runner/Release.entitlements similarity index 100% rename from packages/path_provider/path_provider_macos/example/macos/Runner/Release.entitlements rename to packages/path_provider/path_provider_foundation/example/macos/Runner/Release.entitlements diff --git a/packages/path_provider/path_provider_ios/example/ios/RunnerTests/Info.plist b/packages/path_provider/path_provider_foundation/example/macos/RunnerTests/Info.plist similarity index 100% rename from packages/path_provider/path_provider_ios/example/ios/RunnerTests/Info.plist rename to packages/path_provider/path_provider_foundation/example/macos/RunnerTests/Info.plist diff --git a/packages/path_provider/path_provider_macos/example/pubspec.yaml b/packages/path_provider/path_provider_foundation/example/pubspec.yaml similarity index 91% rename from packages/path_provider/path_provider_macos/example/pubspec.yaml rename to packages/path_provider/path_provider_foundation/example/pubspec.yaml index 8c69e69ce122..69524ad55e74 100644 --- a/packages/path_provider/path_provider_macos/example/pubspec.yaml +++ b/packages/path_provider/path_provider_foundation/example/pubspec.yaml @@ -9,9 +9,9 @@ environment: dependencies: flutter: sdk: flutter - path_provider_macos: + path_provider_foundation: # When depending on this package from a real application you should use: - # path_provider_macos: ^x.y.z + # path_provider_foundation: ^x.y.z # See https://dart.dev/tools/pub/dependencies#version-constraints # The example app is bundled with the plugin so we use a path dependency on # the parent directory to use the current plugin's version. diff --git a/packages/path_provider/path_provider_ios/example/test_driver/integration_test.dart b/packages/path_provider/path_provider_foundation/example/test_driver/integration_test.dart similarity index 100% rename from packages/path_provider/path_provider_ios/example/test_driver/integration_test.dart rename to packages/path_provider/path_provider_foundation/example/test_driver/integration_test.dart diff --git a/packages/path_provider/path_provider_foundation/ios/Classes/PathProviderPlugin.swift b/packages/path_provider/path_provider_foundation/ios/Classes/PathProviderPlugin.swift new file mode 120000 index 000000000000..47ec1bfb28ca --- /dev/null +++ b/packages/path_provider/path_provider_foundation/ios/Classes/PathProviderPlugin.swift @@ -0,0 +1 @@ +../../darwin/Classes/PathProviderPlugin.swift \ No newline at end of file diff --git a/packages/path_provider/path_provider_foundation/ios/Classes/messages.g.swift b/packages/path_provider/path_provider_foundation/ios/Classes/messages.g.swift new file mode 120000 index 000000000000..11bcf06e96a8 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/ios/Classes/messages.g.swift @@ -0,0 +1 @@ +../../darwin/Classes/messages.g.swift \ No newline at end of file diff --git a/packages/path_provider/path_provider_foundation/ios/README.md b/packages/path_provider/path_provider_foundation/ios/README.md new file mode 100644 index 000000000000..fd7261950f35 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/ios/README.md @@ -0,0 +1,4 @@ +This only contains symlinks to ../darwin, to support versions of Flutter +prior that don't include https://github.com/flutter/flutter/pull/115337. +Once the minimum Flutter version supported by this implementation is one that +includes that functionality, this directory should be removed. diff --git a/packages/path_provider/path_provider_foundation/ios/path_provider_foundation.podspec b/packages/path_provider/path_provider_foundation/ios/path_provider_foundation.podspec new file mode 120000 index 000000000000..feae183dd621 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/ios/path_provider_foundation.podspec @@ -0,0 +1 @@ +../darwin/path_provider_foundation.podspec \ No newline at end of file diff --git a/packages/path_provider/path_provider_macos/lib/messages.g.dart b/packages/path_provider/path_provider_foundation/lib/messages.g.dart similarity index 100% rename from packages/path_provider/path_provider_macos/lib/messages.g.dart rename to packages/path_provider/path_provider_foundation/lib/messages.g.dart diff --git a/packages/path_provider/path_provider_macos/lib/path_provider_macos.dart b/packages/path_provider/path_provider_foundation/lib/path_provider_foundation.dart similarity index 77% rename from packages/path_provider/path_provider_macos/lib/path_provider_macos.dart rename to packages/path_provider/path_provider_foundation/lib/path_provider_foundation.dart index 7563beacd1ff..9fdda6935245 100644 --- a/packages/path_provider/path_provider_macos/lib/path_provider_macos.dart +++ b/packages/path_provider/path_provider_foundation/lib/path_provider_foundation.dart @@ -8,13 +8,13 @@ import 'package:path_provider_platform_interface/path_provider_platform_interfac import 'messages.g.dart'; -/// The macOS implementation of [PathProviderPlatform]. -class PathProviderMacOS extends PathProviderPlatform { +/// The iOS and macOS implementation of [PathProviderPlatform]. +class PathProviderFoundation extends PathProviderPlatform { final PathProviderApi _pathProvider = PathProviderApi(); /// Registers this class as the default instance of [PathProviderPlatform] static void registerWith() { - PathProviderPlatform.instance = PathProviderMacOS(); + PathProviderPlatform.instance = PathProviderFoundation(); } @override @@ -46,19 +46,22 @@ class PathProviderMacOS extends PathProviderPlatform { @override Future getExternalStoragePath() async { - throw UnsupportedError('getExternalStoragePath is not supported on macOS'); + throw UnsupportedError( + 'getExternalStoragePath is not supported on this platform'); } @override Future?> getExternalCachePaths() async { - throw UnsupportedError('getExternalCachePaths is not supported on macOS'); + throw UnsupportedError( + 'getExternalCachePaths is not supported on this platform'); } @override Future?> getExternalStoragePaths({ StorageDirectory? type, }) async { - throw UnsupportedError('getExternalStoragePaths is not supported on macOS'); + throw UnsupportedError( + 'getExternalStoragePaths is not supported on this platform'); } @override diff --git a/packages/path_provider/path_provider_foundation/macos/Classes/PathProviderPlugin.swift b/packages/path_provider/path_provider_foundation/macos/Classes/PathProviderPlugin.swift new file mode 120000 index 000000000000..47ec1bfb28ca --- /dev/null +++ b/packages/path_provider/path_provider_foundation/macos/Classes/PathProviderPlugin.swift @@ -0,0 +1 @@ +../../darwin/Classes/PathProviderPlugin.swift \ No newline at end of file diff --git a/packages/path_provider/path_provider_foundation/macos/Classes/messages.g.swift b/packages/path_provider/path_provider_foundation/macos/Classes/messages.g.swift new file mode 120000 index 000000000000..11bcf06e96a8 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/macos/Classes/messages.g.swift @@ -0,0 +1 @@ +../../darwin/Classes/messages.g.swift \ No newline at end of file diff --git a/packages/path_provider/path_provider_foundation/macos/README.md b/packages/path_provider/path_provider_foundation/macos/README.md new file mode 100644 index 000000000000..fd7261950f35 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/macos/README.md @@ -0,0 +1,4 @@ +This only contains symlinks to ../darwin, to support versions of Flutter +prior that don't include https://github.com/flutter/flutter/pull/115337. +Once the minimum Flutter version supported by this implementation is one that +includes that functionality, this directory should be removed. diff --git a/packages/path_provider/path_provider_foundation/macos/path_provider_foundation.podspec b/packages/path_provider/path_provider_foundation/macos/path_provider_foundation.podspec new file mode 120000 index 000000000000..feae183dd621 --- /dev/null +++ b/packages/path_provider/path_provider_foundation/macos/path_provider_foundation.podspec @@ -0,0 +1 @@ +../darwin/path_provider_foundation.podspec \ No newline at end of file diff --git a/packages/path_provider/path_provider_ios/pigeons/copyright.txt b/packages/path_provider/path_provider_foundation/pigeons/copyright.txt similarity index 100% rename from packages/path_provider/path_provider_ios/pigeons/copyright.txt rename to packages/path_provider/path_provider_foundation/pigeons/copyright.txt diff --git a/packages/path_provider/path_provider_macos/pigeons/messages.dart b/packages/path_provider/path_provider_foundation/pigeons/messages.dart similarity index 100% rename from packages/path_provider/path_provider_macos/pigeons/messages.dart rename to packages/path_provider/path_provider_foundation/pigeons/messages.dart diff --git a/packages/path_provider/path_provider_macos/pubspec.yaml b/packages/path_provider/path_provider_foundation/pubspec.yaml similarity index 60% rename from packages/path_provider/path_provider_macos/pubspec.yaml rename to packages/path_provider/path_provider_foundation/pubspec.yaml index 2722d26c4b68..75d22e132793 100644 --- a/packages/path_provider/path_provider_macos/pubspec.yaml +++ b/packages/path_provider/path_provider_foundation/pubspec.yaml @@ -1,8 +1,8 @@ -name: path_provider_macos -description: macOS implementation of the path_provider plugin -repository: https://github.com/flutter/plugins/tree/main/packages/path_provider/path_provider_macos +name: path_provider_foundation +description: iOS and macOS implementation of the path_provider plugin +repository: https://github.com/flutter/plugins/tree/main/packages/path_provider/path_provider_foundation issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+path_provider%22 -version: 2.0.7 +version: 2.1.0 environment: sdk: ">=2.12.0 <3.0.0" @@ -12,9 +12,14 @@ flutter: plugin: implements: path_provider platforms: + ios: + pluginClass: PathProviderPlugin + dartPluginClass: PathProviderFoundation + sharedDarwinSource: true macos: pluginClass: PathProviderPlugin - dartPluginClass: PathProviderMacOS + dartPluginClass: PathProviderFoundation + sharedDarwinSource: true dependencies: flutter: diff --git a/packages/path_provider/path_provider_macos/test/messages_test.g.dart b/packages/path_provider/path_provider_foundation/test/messages_test.g.dart similarity index 97% rename from packages/path_provider/path_provider_macos/test/messages_test.g.dart rename to packages/path_provider/path_provider_foundation/test/messages_test.g.dart index b0f3c1a2a069..9fb9b954cede 100644 --- a/packages/path_provider/path_provider_macos/test/messages_test.g.dart +++ b/packages/path_provider/path_provider_foundation/test/messages_test.g.dart @@ -11,7 +11,7 @@ import 'package:flutter/foundation.dart' show ReadBuffer, WriteBuffer; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:path_provider_macos/messages.g.dart'; +import 'package:path_provider_foundation/messages.g.dart'; abstract class TestPathProviderApi { static const MessageCodec codec = StandardMessageCodec(); diff --git a/packages/path_provider/path_provider_macos/test/path_provider_macos_test.dart b/packages/path_provider/path_provider_foundation/test/path_provider_foundation_test.dart similarity index 92% rename from packages/path_provider/path_provider_macos/test/path_provider_macos_test.dart rename to packages/path_provider/path_provider_foundation/test/path_provider_foundation_test.dart index 1bd64477f960..e291e3bf25d8 100644 --- a/packages/path_provider/path_provider_macos/test/path_provider_macos_test.dart +++ b/packages/path_provider/path_provider_foundation/test/path_provider_foundation_test.dart @@ -8,18 +8,18 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:path/path.dart' as p; -import 'package:path_provider_macos/messages.g.dart'; -import 'package:path_provider_macos/path_provider_macos.dart'; +import 'package:path_provider_foundation/messages.g.dart'; +import 'package:path_provider_foundation/path_provider_foundation.dart'; import 'messages_test.g.dart'; -import 'path_provider_macos_test.mocks.dart'; +import 'path_provider_foundation_test.mocks.dart'; @GenerateMocks([TestPathProviderApi]) void main() { TestWidgetsFlutterBinding.ensureInitialized(); - group('PathProviderMacOS', () { - late PathProviderMacOS pathProvider; + group('PathProviderFoundation', () { + late PathProviderFoundation pathProvider; late MockTestPathProviderApi mockApi; // These unit tests use the actual filesystem, since an injectable // filesystem would add a runtime dependency to the package, so everything @@ -28,7 +28,7 @@ void main() { setUp(() async { testRoot = Directory.systemTemp.createTempSync(); - pathProvider = PathProviderMacOS(); + pathProvider = PathProviderFoundation(); mockApi = MockTestPathProviderApi(); TestPathProviderApi.setup(mockApi); }); diff --git a/packages/path_provider/path_provider_macos/test/path_provider_macos_test.mocks.dart b/packages/path_provider/path_provider_foundation/test/path_provider_foundation_test.mocks.dart similarity index 89% rename from packages/path_provider/path_provider_macos/test/path_provider_macos_test.mocks.dart rename to packages/path_provider/path_provider_foundation/test/path_provider_foundation_test.mocks.dart index eff00f754bd8..cd3a1c7e8416 100644 --- a/packages/path_provider/path_provider_macos/test/path_provider_macos_test.mocks.dart +++ b/packages/path_provider/path_provider_foundation/test/path_provider_foundation_test.mocks.dart @@ -1,10 +1,10 @@ // Mocks generated by Mockito 5.3.2 from annotations -// in path_provider_macos/test/path_provider_macos_test.dart. +// in path_provider_foundation/test/path_provider_foundation_test.dart. // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes import 'package:mockito/mockito.dart' as _i1; -import 'package:path_provider_macos/messages.g.dart' as _i3; +import 'package:path_provider_foundation/messages.g.dart' as _i3; import 'messages_test.g.dart' as _i2; diff --git a/packages/path_provider/path_provider_ios/CHANGELOG.md b/packages/path_provider/path_provider_ios/CHANGELOG.md deleted file mode 100644 index ffc158c19156..000000000000 --- a/packages/path_provider/path_provider_ios/CHANGELOG.md +++ /dev/null @@ -1,28 +0,0 @@ -## NEXT - -* Updates minimum Flutter version to 2.10. - -## 2.0.11 - -* Lower minimim version back to 2.8. - -## 2.0.10 - -* Switches backend to pigeon. - -## 2.0.9 - -* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors - lint warnings. - -## 2.0.8 - -* Switches to a package-internal implementation of the platform interface. - -## 2.0.7 - -* Fixes link in README. - -## 2.0.6 - -* Split from `path_provider` as a federated implementation. diff --git a/packages/path_provider/path_provider_ios/example/integration_test/path_provider_test.dart b/packages/path_provider/path_provider_ios/example/integration_test/path_provider_test.dart deleted file mode 100644 index 5c6cf5a63579..000000000000 --- a/packages/path_provider/path_provider_ios/example/integration_test/path_provider_test.dart +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:io'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:integration_test/integration_test.dart'; -import 'package:path_provider_platform_interface/path_provider_platform_interface.dart'; - -void main() { - IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - - testWidgets('getTemporaryDirectory', (WidgetTester tester) async { - final PathProviderPlatform provider = PathProviderPlatform.instance; - final String? result = await provider.getTemporaryPath(); - _verifySampleFile(result, 'temporaryDirectory'); - }); - - testWidgets('getApplicationDocumentsDirectory', (WidgetTester tester) async { - final PathProviderPlatform provider = PathProviderPlatform.instance; - final String? result = await provider.getApplicationDocumentsPath(); - _verifySampleFile(result, 'applicationDocuments'); - }); - - testWidgets('getApplicationSupportDirectory', (WidgetTester tester) async { - final PathProviderPlatform provider = PathProviderPlatform.instance; - final String? result = await provider.getApplicationSupportPath(); - _verifySampleFile(result, 'applicationSupport'); - }); - - testWidgets('getLibraryDirectory', (WidgetTester tester) async { - final PathProviderPlatform provider = PathProviderPlatform.instance; - final String? result = await provider.getLibraryPath(); - _verifySampleFile(result, 'library'); - }); - - testWidgets('getExternalStorageDirectory', (WidgetTester tester) async { - final PathProviderPlatform provider = PathProviderPlatform.instance; - expect(() => provider.getExternalStoragePath(), - throwsA(isInstanceOf())); - }); - - testWidgets('getExternalCacheDirectories', (WidgetTester tester) async { - final PathProviderPlatform provider = PathProviderPlatform.instance; - expect(() => provider.getExternalCachePaths(), - throwsA(isInstanceOf())); - }); -} - -/// Verify a file called [name] in [directoryPath] by recreating it with test -/// contents when necessary. -void _verifySampleFile(String? directoryPath, String name) { - expect(directoryPath, isNotNull); - if (directoryPath == null) { - return; - } - final Directory directory = Directory(directoryPath); - final File file = File('${directory.path}${Platform.pathSeparator}$name'); - - if (file.existsSync()) { - file.deleteSync(); - expect(file.existsSync(), isFalse); - } - - file.writeAsStringSync('Hello world!'); - expect(file.readAsStringSync(), 'Hello world!'); - expect(directory.listSync(), isNotEmpty); - file.deleteSync(); -} diff --git a/packages/path_provider/path_provider_ios/example/ios/Flutter/Debug.xcconfig b/packages/path_provider/path_provider_ios/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index 9803018ca79d..000000000000 --- a/packages/path_provider/path_provider_ios/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "Generated.xcconfig" -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" diff --git a/packages/path_provider/path_provider_ios/example/ios/Flutter/Release.xcconfig b/packages/path_provider/path_provider_ios/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index a4a8c604e13d..000000000000 --- a/packages/path_provider/path_provider_ios/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "Generated.xcconfig" -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/AppDelegate.h b/packages/path_provider/path_provider_ios/example/ios/Runner/AppDelegate.h deleted file mode 100644 index 0681d288bb70..000000000000 --- a/packages/path_provider/path_provider_ios/example/ios/Runner/AppDelegate.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import -#import - -@interface AppDelegate : FlutterAppDelegate - -@end diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/AppDelegate.m b/packages/path_provider/path_provider_ios/example/ios/Runner/AppDelegate.m deleted file mode 100644 index b790a0a52635..000000000000 --- a/packages/path_provider/path_provider_ios/example/ios/Runner/AppDelegate.m +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "AppDelegate.h" -#include "GeneratedPluginRegistrant.h" - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -@end diff --git a/packages/path_provider/path_provider_ios/example/ios/Runner/main.m b/packages/path_provider/path_provider_ios/example/ios/Runner/main.m deleted file mode 100644 index f143297b30d6..000000000000 --- a/packages/path_provider/path_provider_ios/example/ios/Runner/main.m +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import -#import -#import "AppDelegate.h" - -int main(int argc, char *argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/packages/path_provider/path_provider_ios/example/ios/RunnerTests/PathProviderTests.m b/packages/path_provider/path_provider_ios/example/ios/RunnerTests/PathProviderTests.m deleted file mode 100644 index 87d227795614..000000000000 --- a/packages/path_provider/path_provider_ios/example/ios/RunnerTests/PathProviderTests.m +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -@import path_provider_ios; -@import XCTest; - -@interface PathProviderTests : XCTestCase -@end - -@implementation PathProviderTests - -- (void)testPlugin { - FLTPathProviderPlugin *plugin = [[FLTPathProviderPlugin alloc] init]; - XCTAssertNotNil(plugin); -} - -@end diff --git a/packages/path_provider/path_provider_ios/example/lib/main.dart b/packages/path_provider/path_provider_ios/example/lib/main.dart deleted file mode 100644 index d7140b76a06b..000000000000 --- a/packages/path_provider/path_provider_ios/example/lib/main.dart +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// ignore_for_file: public_member_api_docs - -import 'package:flutter/material.dart'; -import 'package:path_provider_platform_interface/path_provider_platform_interface.dart'; - -void main() { - runApp(const MyApp()); -} - -class MyApp extends StatelessWidget { - const MyApp({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Path Provider', - theme: ThemeData( - primarySwatch: Colors.blue, - ), - home: const MyHomePage(title: 'Path Provider'), - ); - } -} - -class MyHomePage extends StatefulWidget { - const MyHomePage({Key? key, required this.title}) : super(key: key); - final String title; - - @override - State createState() => _MyHomePageState(); -} - -class _MyHomePageState extends State { - final PathProviderPlatform provider = PathProviderPlatform.instance; - Future? _tempDirectory; - Future? _appSupportDirectory; - Future? _appLibraryDirectory; - Future? _appDocumentsDirectory; - - void _requestTempDirectory() { - setState(() { - _tempDirectory = provider.getTemporaryPath(); - }); - } - - Widget _buildDirectory( - BuildContext context, AsyncSnapshot snapshot) { - Text text = const Text(''); - if (snapshot.connectionState == ConnectionState.done) { - if (snapshot.hasError) { - text = Text('Error: ${snapshot.error}'); - } else if (snapshot.hasData) { - text = Text('path: ${snapshot.data}'); - } else { - text = const Text('path unavailable'); - } - } - return Padding(padding: const EdgeInsets.all(16.0), child: text); - } - - void _requestAppDocumentsDirectory() { - setState(() { - _appDocumentsDirectory = provider.getApplicationDocumentsPath(); - }); - } - - void _requestAppSupportDirectory() { - setState(() { - _appSupportDirectory = provider.getApplicationSupportPath(); - }); - } - - void _requestAppLibraryDirectory() { - setState(() { - _appLibraryDirectory = provider.getLibraryPath(); - }); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: Text(widget.title), - ), - body: Center( - child: ListView( - children: [ - Padding( - padding: const EdgeInsets.all(16.0), - child: ElevatedButton( - onPressed: _requestTempDirectory, - child: const Text('Get Temporary Directory'), - ), - ), - FutureBuilder( - future: _tempDirectory, builder: _buildDirectory), - Padding( - padding: const EdgeInsets.all(16.0), - child: ElevatedButton( - onPressed: _requestAppDocumentsDirectory, - child: const Text('Get Application Documents Directory'), - ), - ), - FutureBuilder( - future: _appDocumentsDirectory, builder: _buildDirectory), - Padding( - padding: const EdgeInsets.all(16.0), - child: ElevatedButton( - onPressed: _requestAppSupportDirectory, - child: const Text('Get Application Support Directory'), - ), - ), - FutureBuilder( - future: _appSupportDirectory, builder: _buildDirectory), - Padding( - padding: const EdgeInsets.all(16.0), - child: ElevatedButton( - onPressed: _requestAppLibraryDirectory, - child: const Text('Get Application Library Directory'), - ), - ), - FutureBuilder( - future: _appLibraryDirectory, builder: _buildDirectory), - ], - ), - ), - ); - } -} diff --git a/packages/path_provider/path_provider_ios/example/pubspec.yaml b/packages/path_provider/path_provider_ios/example/pubspec.yaml deleted file mode 100644 index f1d885513948..000000000000 --- a/packages/path_provider/path_provider_ios/example/pubspec.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: path_provider_example -description: Demonstrates how to use the path_provider plugin. -publish_to: none - -environment: - sdk: ">=2.14.0 <3.0.0" - flutter: ">=2.10.0" - -dependencies: - flutter: - sdk: flutter - path_provider_ios: - # When depending on this package from a real application you should use: - # path_provider_ios: ^x.y.z - # See https://dart.dev/tools/pub/dependencies#version-constraints - # The example app is bundled with the plugin so we use a path dependency on - # the parent directory to use the current plugin's version. - path: ../ - path_provider_platform_interface: ^2.0.0 - -dev_dependencies: - flutter_driver: - sdk: flutter - flutter_test: - sdk: flutter - integration_test: - sdk: flutter - -flutter: - uses-material-design: true diff --git a/packages/path_provider/path_provider_ios/ios/Assets/.gitkeep b/packages/path_provider/path_provider_ios/ios/Assets/.gitkeep deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/packages/path_provider/path_provider_ios/ios/Classes/FLTPathProviderPlugin.m b/packages/path_provider/path_provider_ios/ios/Classes/FLTPathProviderPlugin.m deleted file mode 100644 index 82b8df5382fb..000000000000 --- a/packages/path_provider/path_provider_ios/ios/Classes/FLTPathProviderPlugin.m +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import "FLTPathProviderPlugin.h" -#import "messages.g.h" - -static NSString *GetDirectoryOfType(NSSearchPathDirectory dir) { - NSArray *paths = NSSearchPathForDirectoriesInDomains(dir, NSUserDomainMask, YES); - return paths.firstObject; -} - -@interface FLTPathProviderPlugin () -@end - -@implementation FLTPathProviderPlugin - -+ (void)registerWithRegistrar:(NSObject *)registrar { - FLTPathProviderPlugin *plugin = [[FLTPathProviderPlugin alloc] init]; - FLTPathProviderApiSetup(registrar.messenger, plugin); -} - -- (nullable NSString *)getApplicationDocumentsPathWithError: - (FlutterError *_Nullable __autoreleasing *_Nonnull)error { - return GetDirectoryOfType(NSDocumentDirectory); -} - -- (nullable NSString *)getApplicationSupportPathWithError: - (FlutterError *_Nullable __autoreleasing *_Nonnull)error { - return GetDirectoryOfType(NSApplicationSupportDirectory); -} - -- (nullable NSString *)getLibraryPathWithError: - (FlutterError *_Nullable __autoreleasing *_Nonnull)error { - return GetDirectoryOfType(NSLibraryDirectory); -} - -- (nullable NSString *)getTemporaryPathWithError: - (FlutterError *_Nullable __autoreleasing *_Nonnull)error { - return GetDirectoryOfType(NSCachesDirectory); -} - -@end diff --git a/packages/path_provider/path_provider_ios/ios/Classes/messages.g.h b/packages/path_provider/path_provider_ios/ios/Classes/messages.g.h deleted file mode 100644 index b6c1d4d92dd4..000000000000 --- a/packages/path_provider/path_provider_ios/ios/Classes/messages.g.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// Autogenerated from Pigeon (v3.1.5), do not edit directly. -// See also: https://pub.dev/packages/pigeon -#import -@protocol FlutterBinaryMessenger; -@protocol FlutterMessageCodec; -@class FlutterError; -@class FlutterStandardTypedData; - -NS_ASSUME_NONNULL_BEGIN - -/// The codec used by FLTPathProviderApi. -NSObject *FLTPathProviderApiGetCodec(void); - -@protocol FLTPathProviderApi -- (nullable NSString *)getTemporaryPathWithError:(FlutterError *_Nullable *_Nonnull)error; -- (nullable NSString *)getApplicationSupportPathWithError:(FlutterError *_Nullable *_Nonnull)error; -- (nullable NSString *)getLibraryPathWithError:(FlutterError *_Nullable *_Nonnull)error; -- (nullable NSString *)getApplicationDocumentsPathWithError: - (FlutterError *_Nullable *_Nonnull)error; -@end - -extern void FLTPathProviderApiSetup(id binaryMessenger, - NSObject *_Nullable api); - -NS_ASSUME_NONNULL_END diff --git a/packages/path_provider/path_provider_ios/ios/Classes/messages.g.m b/packages/path_provider/path_provider_ios/ios/Classes/messages.g.m deleted file mode 100644 index 2589df1837e7..000000000000 --- a/packages/path_provider/path_provider_ios/ios/Classes/messages.g.m +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// Autogenerated from Pigeon (v3.1.5), do not edit directly. -// See also: https://pub.dev/packages/pigeon -#import "messages.g.h" -#import - -#if !__has_feature(objc_arc) -#error File requires ARC to be enabled. -#endif - -static NSDictionary *wrapResult(id result, FlutterError *error) { - NSDictionary *errorDict = (NSDictionary *)[NSNull null]; - if (error) { - errorDict = @{ - @"code" : (error.code ?: [NSNull null]), - @"message" : (error.message ?: [NSNull null]), - @"details" : (error.details ?: [NSNull null]), - }; - } - return @{ - @"result" : (result ?: [NSNull null]), - @"error" : errorDict, - }; -} - -@interface FLTPathProviderApiCodecReader : FlutterStandardReader -@end -@implementation FLTPathProviderApiCodecReader -@end - -@interface FLTPathProviderApiCodecWriter : FlutterStandardWriter -@end -@implementation FLTPathProviderApiCodecWriter -@end - -@interface FLTPathProviderApiCodecReaderWriter : FlutterStandardReaderWriter -@end -@implementation FLTPathProviderApiCodecReaderWriter -- (FlutterStandardWriter *)writerWithData:(NSMutableData *)data { - return [[FLTPathProviderApiCodecWriter alloc] initWithData:data]; -} -- (FlutterStandardReader *)readerWithData:(NSData *)data { - return [[FLTPathProviderApiCodecReader alloc] initWithData:data]; -} -@end - -NSObject *FLTPathProviderApiGetCodec() { - static dispatch_once_t sPred = 0; - static FlutterStandardMessageCodec *sSharedObject = nil; - dispatch_once(&sPred, ^{ - FLTPathProviderApiCodecReaderWriter *readerWriter = - [[FLTPathProviderApiCodecReaderWriter alloc] init]; - sSharedObject = [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter]; - }); - return sSharedObject; -} - -void FLTPathProviderApiSetup(id binaryMessenger, - NSObject *api) { - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:@"dev.flutter.pigeon.PathProviderApi.getTemporaryPath" - binaryMessenger:binaryMessenger - codec:FLTPathProviderApiGetCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(getTemporaryPathWithError:)], - @"FLTPathProviderApi api (%@) doesn't respond to @selector(getTemporaryPathWithError:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FlutterError *error; - NSString *output = [api getTemporaryPathWithError:&error]; - callback(wrapResult(output, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:@"dev.flutter.pigeon.PathProviderApi.getApplicationSupportPath" - binaryMessenger:binaryMessenger - codec:FLTPathProviderApiGetCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getApplicationSupportPathWithError:)], - @"FLTPathProviderApi api (%@) doesn't respond to " - @"@selector(getApplicationSupportPathWithError:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FlutterError *error; - NSString *output = [api getApplicationSupportPathWithError:&error]; - callback(wrapResult(output, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:@"dev.flutter.pigeon.PathProviderApi.getLibraryPath" - binaryMessenger:binaryMessenger - codec:FLTPathProviderApiGetCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(getLibraryPathWithError:)], - @"FLTPathProviderApi api (%@) doesn't respond to @selector(getLibraryPathWithError:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FlutterError *error; - NSString *output = [api getLibraryPathWithError:&error]; - callback(wrapResult(output, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:@"dev.flutter.pigeon.PathProviderApi.getApplicationDocumentsPath" - binaryMessenger:binaryMessenger - codec:FLTPathProviderApiGetCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getApplicationDocumentsPathWithError:)], - @"FLTPathProviderApi api (%@) doesn't respond to " - @"@selector(getApplicationDocumentsPathWithError:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FlutterError *error; - NSString *output = [api getApplicationDocumentsPathWithError:&error]; - callback(wrapResult(output, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} diff --git a/packages/path_provider/path_provider_ios/ios/path_provider_ios.podspec b/packages/path_provider/path_provider_ios/ios/path_provider_ios.podspec deleted file mode 100644 index f1f94e996093..000000000000 --- a/packages/path_provider/path_provider_ios/ios/path_provider_ios.podspec +++ /dev/null @@ -1,22 +0,0 @@ -# -# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html -# -Pod::Spec.new do |s| - s.name = 'path_provider_ios' - s.version = '0.0.1' - s.summary = 'Flutter Path Provider' - s.description = <<-DESC -A Flutter plugin for getting commonly used locations on the filesystem. -Downloaded by pub (not CocoaPods). - DESC - s.homepage = 'https://github.com/flutter/plugins' - s.license = { :type => 'BSD', :file => '../LICENSE' } - s.author = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' } - s.source = { :http => 'https://github.com/flutter/plugins/tree/main/packages/path_provider/path_provider_ios' } - s.documentation_url = 'https://pub.dev/packages/path_provider' - s.source_files = 'Classes/**/*' - s.public_header_files = 'Classes/**/*.h' - s.dependency 'Flutter' - s.platform = :ios, '9.0' - s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } -end diff --git a/packages/path_provider/path_provider_ios/lib/messages.g.dart b/packages/path_provider/path_provider_ios/lib/messages.g.dart deleted file mode 100644 index 1914119b8bd8..000000000000 --- a/packages/path_provider/path_provider_ios/lib/messages.g.dart +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// Autogenerated from Pigeon (v3.1.5), do not edit directly. -// See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name -// @dart = 2.12 -import 'dart:async'; -import 'dart:typed_data' show Uint8List, Int32List, Int64List, Float64List; - -import 'package:flutter/foundation.dart' show WriteBuffer, ReadBuffer; -import 'package:flutter/services.dart'; - -class _PathProviderApiCodec extends StandardMessageCodec { - const _PathProviderApiCodec(); -} - -class PathProviderApi { - /// Constructor for [PathProviderApi]. The [binaryMessenger] named argument is - /// available for dependency injection. If it is left null, the default - /// BinaryMessenger will be used which routes to the host platform. - PathProviderApi({BinaryMessenger? binaryMessenger}) - : _binaryMessenger = binaryMessenger; - - final BinaryMessenger? _binaryMessenger; - - static const MessageCodec codec = _PathProviderApiCodec(); - - Future getTemporaryPath() async { - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.PathProviderApi.getTemporaryPath', codec, - binaryMessenger: _binaryMessenger); - final Map? replyMap = - await channel.send(null) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - ); - } else if (replyMap['error'] != null) { - final Map error = - (replyMap['error'] as Map?)!; - throw PlatformException( - code: (error['code'] as String?)!, - message: error['message'] as String?, - details: error['details'], - ); - } else { - return (replyMap['result'] as String?); - } - } - - Future getApplicationSupportPath() async { - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.PathProviderApi.getApplicationSupportPath', codec, - binaryMessenger: _binaryMessenger); - final Map? replyMap = - await channel.send(null) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - ); - } else if (replyMap['error'] != null) { - final Map error = - (replyMap['error'] as Map?)!; - throw PlatformException( - code: (error['code'] as String?)!, - message: error['message'] as String?, - details: error['details'], - ); - } else { - return (replyMap['result'] as String?); - } - } - - Future getLibraryPath() async { - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.PathProviderApi.getLibraryPath', codec, - binaryMessenger: _binaryMessenger); - final Map? replyMap = - await channel.send(null) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - ); - } else if (replyMap['error'] != null) { - final Map error = - (replyMap['error'] as Map?)!; - throw PlatformException( - code: (error['code'] as String?)!, - message: error['message'] as String?, - details: error['details'], - ); - } else { - return (replyMap['result'] as String?); - } - } - - Future getApplicationDocumentsPath() async { - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.PathProviderApi.getApplicationDocumentsPath', codec, - binaryMessenger: _binaryMessenger); - final Map? replyMap = - await channel.send(null) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - ); - } else if (replyMap['error'] != null) { - final Map error = - (replyMap['error'] as Map?)!; - throw PlatformException( - code: (error['code'] as String?)!, - message: error['message'] as String?, - details: error['details'], - ); - } else { - return (replyMap['result'] as String?); - } - } -} diff --git a/packages/path_provider/path_provider_ios/lib/path_provider_ios.dart b/packages/path_provider/path_provider_ios/lib/path_provider_ios.dart deleted file mode 100644 index 05be0534764a..000000000000 --- a/packages/path_provider/path_provider_ios/lib/path_provider_ios.dart +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:io'; - -import 'package:path_provider_platform_interface/path_provider_platform_interface.dart'; -import 'messages.g.dart'; - -/// The iOS implementation of [PathProviderPlatform]. -class PathProviderIOS extends PathProviderPlatform { - /// The method channel used to interact with the native platform. - final PathProviderApi _pathProvider = PathProviderApi(); - - /// Registers this class as the default instance of [PathProviderPlatform] - static void registerWith() { - PathProviderPlatform.instance = PathProviderIOS(); - } - - @override - Future getTemporaryPath() async { - return _pathProvider.getTemporaryPath(); - } - - @override - Future getApplicationSupportPath() async { - final String? path = await _pathProvider.getApplicationSupportPath(); - if (path != null) { - // Ensure the directory exists before returning it, for consistency with - // other platforms. - await Directory(path).create(recursive: true); - } - return path; - } - - @override - Future getLibraryPath() async { - return _pathProvider.getLibraryPath(); - } - - @override - Future getApplicationDocumentsPath() async { - return _pathProvider.getApplicationDocumentsPath(); - } - - @override - Future getExternalStoragePath() async { - throw UnsupportedError('getExternalStoragePath is not supported on iOS'); - } - - @override - Future?> getExternalCachePaths() async { - throw UnsupportedError('getExternalCachePaths is not supported on iOS'); - } - - @override - Future?> getExternalStoragePaths({ - StorageDirectory? type, - }) async { - throw UnsupportedError('getExternalStoragePaths is not supported on iOS'); - } - - @override - Future getDownloadsPath() async { - throw UnsupportedError('getDownloadsPath is not supported on iOS'); - } -} diff --git a/packages/path_provider/path_provider_ios/pigeons/messages.dart b/packages/path_provider/path_provider_ios/pigeons/messages.dart deleted file mode 100644 index 2ed79914e821..000000000000 --- a/packages/path_provider/path_provider_ios/pigeons/messages.dart +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -import 'package:pigeon/pigeon.dart'; - -@ConfigurePigeon(PigeonOptions( - input: 'pigeons/messages.dart', - objcOptions: ObjcOptions(prefix: 'FLT'), - objcHeaderOut: 'ios/Classes/messages.g.h', - objcSourceOut: 'ios/Classes/messages.g.m', - dartOut: 'lib/messages.g.dart', - dartTestOut: 'test/messages_test.g.dart', - copyrightHeader: 'pigeons/copyright.txt', -)) -@HostApi(dartHostTestHandler: 'TestPathProviderApi') -abstract class PathProviderApi { - String? getTemporaryPath(); - String? getApplicationSupportPath(); - String? getLibraryPath(); - String? getApplicationDocumentsPath(); -} diff --git a/packages/path_provider/path_provider_ios/pubspec.yaml b/packages/path_provider/path_provider_ios/pubspec.yaml deleted file mode 100644 index 2f6171cd70bd..000000000000 --- a/packages/path_provider/path_provider_ios/pubspec.yaml +++ /dev/null @@ -1,34 +0,0 @@ -name: path_provider_ios -description: iOS implementation of the path_provider plugin. -repository: https://github.com/flutter/plugins/tree/main/packages/path_provider/path_provider_ios -issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+path_provider%22 -version: 2.0.11 - -environment: - sdk: ">=2.14.0 <3.0.0" - flutter: ">=2.10.0" - -flutter: - plugin: - implements: path_provider - platforms: - ios: - pluginClass: FLTPathProviderPlugin - dartPluginClass: PathProviderIOS - -dependencies: - flutter: - sdk: flutter - path_provider_platform_interface: ^2.0.0 - -dev_dependencies: - flutter_driver: - sdk: flutter - flutter_test: - sdk: flutter - integration_test: - sdk: flutter - path: ^1.8.0 - pigeon: ^3.1.5 - plugin_platform_interface: ^2.0.0 - test: ^1.16.0 diff --git a/packages/path_provider/path_provider_ios/test/messages_test.g.dart b/packages/path_provider/path_provider_ios/test/messages_test.g.dart deleted file mode 100644 index d1c9ff88dca1..000000000000 --- a/packages/path_provider/path_provider_ios/test/messages_test.g.dart +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// Autogenerated from Pigeon (v3.1.5), do not edit directly. -// See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis -// ignore_for_file: avoid_relative_lib_imports -// @dart = 2.12 -import 'dart:async'; -import 'dart:typed_data' show Uint8List, Int32List, Int64List, Float64List; -import 'package:flutter/foundation.dart' show WriteBuffer, ReadBuffer; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import '../lib/messages.g.dart'; - -class _TestPathProviderApiCodec extends StandardMessageCodec { - const _TestPathProviderApiCodec(); -} - -abstract class TestPathProviderApi { - static const MessageCodec codec = _TestPathProviderApiCodec(); - - String? getTemporaryPath(); - String? getApplicationSupportPath(); - String? getLibraryPath(); - String? getApplicationDocumentsPath(); - static void setup(TestPathProviderApi? api, - {BinaryMessenger? binaryMessenger}) { - { - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.PathProviderApi.getTemporaryPath', codec, - binaryMessenger: binaryMessenger); - if (api == null) { - channel.setMockMessageHandler(null); - } else { - channel.setMockMessageHandler((Object? message) async { - // ignore message - final String? output = api.getTemporaryPath(); - return {'result': output}; - }); - } - } - { - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.PathProviderApi.getApplicationSupportPath', codec, - binaryMessenger: binaryMessenger); - if (api == null) { - channel.setMockMessageHandler(null); - } else { - channel.setMockMessageHandler((Object? message) async { - // ignore message - final String? output = api.getApplicationSupportPath(); - return {'result': output}; - }); - } - } - { - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.PathProviderApi.getLibraryPath', codec, - binaryMessenger: binaryMessenger); - if (api == null) { - channel.setMockMessageHandler(null); - } else { - channel.setMockMessageHandler((Object? message) async { - // ignore message - final String? output = api.getLibraryPath(); - return {'result': output}; - }); - } - } - { - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.PathProviderApi.getApplicationDocumentsPath', - codec, - binaryMessenger: binaryMessenger); - if (api == null) { - channel.setMockMessageHandler(null); - } else { - channel.setMockMessageHandler((Object? message) async { - // ignore message - final String? output = api.getApplicationDocumentsPath(); - return {'result': output}; - }); - } - } - } -} diff --git a/packages/path_provider/path_provider_ios/test/path_provider_ios_test.dart b/packages/path_provider/path_provider_ios/test/path_provider_ios_test.dart deleted file mode 100644 index 16a7cd8d71a2..000000000000 --- a/packages/path_provider/path_provider_ios/test/path_provider_ios_test.dart +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; -import 'package:path_provider_ios/path_provider_ios.dart'; -import 'messages_test.g.dart'; - -class _Api implements TestPathProviderApi { - String? applicationDocumentsPath; - String? applicationSupportPath; - String? libraryPath; - String? temporaryPath; - - @override - String? getApplicationDocumentsPath() => applicationDocumentsPath; - - @override - String? getApplicationSupportPath() => applicationSupportPath; - - @override - String? getLibraryPath() => libraryPath; - - @override - String? getTemporaryPath() => temporaryPath; -} - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('PathProviderIOS', () { - late PathProviderIOS pathProvider; - // These unit tests use the actual filesystem, since an injectable - // filesystem would add a runtime dependency to the package, so everything - // is contained to a temporary directory. - late Directory testRoot; - - late String temporaryPath; - late String applicationSupportPath; - late String libraryPath; - late String applicationDocumentsPath; - late _Api api; - - setUp(() async { - pathProvider = PathProviderIOS(); - - testRoot = Directory.systemTemp.createTempSync(); - final String basePath = testRoot.path; - temporaryPath = p.join(basePath, 'temporary', 'path'); - applicationSupportPath = - p.join(basePath, 'application', 'support', 'path'); - libraryPath = p.join(basePath, 'library', 'path'); - applicationDocumentsPath = - p.join(basePath, 'application', 'documents', 'path'); - - api = _Api(); - api.applicationDocumentsPath = applicationDocumentsPath; - api.applicationSupportPath = applicationSupportPath; - api.libraryPath = libraryPath; - api.temporaryPath = temporaryPath; - TestPathProviderApi.setup(api); - }); - - tearDown(() { - testRoot.deleteSync(recursive: true); - }); - - test('getTemporaryPath', () async { - final String? path = await pathProvider.getTemporaryPath(); - expect(path, temporaryPath); - }); - - test('getApplicationSupportPath', () async { - final String? path = await pathProvider.getApplicationSupportPath(); - expect(path, applicationSupportPath); - }); - - test('getApplicationSupportPath creates the directory if necessary', - () async { - final String? path = await pathProvider.getApplicationSupportPath(); - expect(Directory(path!).existsSync(), isTrue); - }); - - test('getLibraryPath', () async { - final String? path = await pathProvider.getLibraryPath(); - expect(path, libraryPath); - }); - - test('getApplicationDocumentsPath', () async { - final String? path = await pathProvider.getApplicationDocumentsPath(); - expect(path, applicationDocumentsPath); - }); - - test('getDownloadsPath throws', () async { - expect(pathProvider.getDownloadsPath(), throwsA(isUnsupportedError)); - }); - - test('getExternalCachePaths throws', () async { - expect(pathProvider.getExternalCachePaths(), throwsA(isUnsupportedError)); - }); - - test('getExternalStoragePath throws', () async { - expect( - pathProvider.getExternalStoragePath(), throwsA(isUnsupportedError)); - }); - - test('getExternalStoragePaths throws', () async { - expect( - pathProvider.getExternalStoragePaths(), throwsA(isUnsupportedError)); - }); - }); -} diff --git a/packages/path_provider/path_provider_macos/AUTHORS b/packages/path_provider/path_provider_macos/AUTHORS deleted file mode 100644 index 493a0b4ef9c2..000000000000 --- a/packages/path_provider/path_provider_macos/AUTHORS +++ /dev/null @@ -1,66 +0,0 @@ -# Below is a list of people and organizations that have contributed -# to the Flutter project. Names should be added to the list like so: -# -# Name/Organization - -Google Inc. -The Chromium Authors -German Saprykin -Benjamin Sauer -larsenthomasj@gmail.com -Ali Bitek -Pol Batlló -Anatoly Pulyaevskiy -Hayden Flinner -Stefano Rodriguez -Salvatore Giordano -Brian Armstrong -Paul DeMarco -Fabricio Nogueira -Simon Lightfoot -Ashton Thomas -Thomas Danner -Diego Velásquez -Hajime Nakamura -Tuyển Vũ Xuân -Miguel Ruivo -Sarthak Verma -Mike Diarmid -Invertase -Elliot Hesp -Vince Varga -Aawaz Gyawali -EUI Limited -Katarina Sheremet -Thomas Stockx -Sarbagya Dhaubanjar -Ozkan Eksi -Rishab Nayak -ko2ic -Jonathan Younger -Jose Sanchez -Debkanchan Samadder -Audrius Karosevicius -Lukasz Piliszczuk -SoundReply Solutions GmbH -Rafal Wachol -Pau Picas -Christian Weder -Alexandru Tuca -Christian Weder -Rhodes Davis Jr. -Luigi Agosti -Quentin Le Guennec -Koushik Ravikumar -Nissim Dsilva -Giancarlo Rocha -Ryo Miyake -Théo Champion -Kazuki Yamaguchi -Eitan Schwartz -Chris Rutkowski -Juan Alvarez -Aleksandr Yurkovskiy -Anton Borries -Alex Li -Rahul Raj <64.rahulraj@gmail.com> diff --git a/packages/path_provider/path_provider_macos/CHANGELOG.md b/packages/path_provider/path_provider_macos/CHANGELOG.md deleted file mode 100644 index 211a59b03eff..000000000000 --- a/packages/path_provider/path_provider_macos/CHANGELOG.md +++ /dev/null @@ -1,92 +0,0 @@ -## 2.0.7 - -* Switches platform channel implementation to Pigeon. -* Updates minimum Flutter version to 2.10. - -## 2.0.6 - -* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors - lint warnings. - -## 2.0.5 - -* Removes dependency on `meta`. - -## 2.0.4 - -* Switches to a package-internal implementation of the platform interface. - -## 2.0.3 - -* Fixes link in README. - -## 2.0.2 - -* Add Swift language version to podspec. -* Add native unit tests. -* Updated installation instructions in README. - -## 2.0.1 - -* Add `implements` to pubspec.yaml. - -## 2.0.0 - -* Update Dart SDK constraint for null safety compatibility. - -## 0.0.4+9 - -* Remove placeholder Dart file. - -## 0.0.4+8 - -* Update the example app: remove the deprecated `RaisedButton` and `FlatButton` widgets. - -## 0.0.4+7 - -* Update Flutter SDK constraint. - -## 0.0.4+6 - -* Remove unused `test` dependency. -* Update Dart SDK constraint in example. - -## 0.0.4+5 - -* Update license header. - -## 0.0.4+4 - -* Remove no-op android folder in the example app. - -## 0.0.4+3 - -* Remove Android folder from `path_provider_macos`. - -## 0.0.4+2 - -* Declare API stability and compatibility with `1.0.0` (more details at: https://github.com/flutter/flutter/wiki/Package-migration-to-1.0.0). - -## 0.0.4+1 - -* Fix CocoaPods podspec lint warnings. - -## 0.0.4 - -* Adds an example app to run integration tests. - -## 0.0.3+1 - -* Make the pedantic `dev_dependency` explicit. - -## 0.0.3 - -* Added support for user's downloads directory. - -## 0.0.2+1 - -* Update README. - -## 0.0.1 - -* Initial open source release. diff --git a/packages/path_provider/path_provider_macos/LICENSE b/packages/path_provider/path_provider_macos/LICENSE deleted file mode 100644 index c6823b81eb84..000000000000 --- a/packages/path_provider/path_provider_macos/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -Copyright 2013 The Flutter Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/path_provider/path_provider_macos/README.md b/packages/path_provider/path_provider_macos/README.md deleted file mode 100644 index 6641134aefd9..000000000000 --- a/packages/path_provider/path_provider_macos/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# path\_provider\_macos - -The macos implementation of [`path_provider`][1]. - -## Usage - -This package is [endorsed][2], which means you can simply use `path_provider` -normally. This package will be automatically included in your app when you do. - -[1]: https://pub.dev/packages/path_provider -[2]: https://flutter.dev/docs/development/packages-and-plugins/developing-packages#endorsed-federated-plugin diff --git a/packages/path_provider/path_provider_macos/example/README.md b/packages/path_provider/path_provider_macos/example/README.md deleted file mode 100644 index 96b8bb17dbff..000000000000 --- a/packages/path_provider/path_provider_macos/example/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Platform Implementation Test App - -This is a test app for manual testing and automated integration testing -of this platform implementation. It is not intended to demonstrate actual use of -this package, since the intent is that plugin clients use the app-facing -package. - -Unless you are making changes to this implementation package, this example is -very unlikely to be relevant. diff --git a/packages/path_provider/path_provider_macos/example/macos/RunnerTests/Info.plist b/packages/path_provider/path_provider_macos/example/macos/RunnerTests/Info.plist deleted file mode 100644 index 64d65ca49577..000000000000 --- a/packages/path_provider/path_provider_macos/example/macos/RunnerTests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/packages/path_provider/path_provider_macos/example/test_driver/integration_test.dart b/packages/path_provider/path_provider_macos/example/test_driver/integration_test.dart deleted file mode 100644 index 4f10f2a522f3..000000000000 --- a/packages/path_provider/path_provider_macos/example/test_driver/integration_test.dart +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:integration_test/integration_test_driver.dart'; - -Future main() => integrationDriver(); diff --git a/packages/path_provider/path_provider_macos/macos/path_provider_macos.podspec b/packages/path_provider/path_provider_macos/macos/path_provider_macos.podspec deleted file mode 100644 index 14c468231f8c..000000000000 --- a/packages/path_provider/path_provider_macos/macos/path_provider_macos.podspec +++ /dev/null @@ -1,22 +0,0 @@ -# -# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html -# -Pod::Spec.new do |s| - s.name = 'path_provider_macos' - s.version = '0.0.1' - s.summary = 'A macOS implementation of the path_provider plugin.' - s.description = <<-DESC - A macOS implementation of the Flutter plugin for getting commonly used locations on the filesystem. - DESC - s.homepage = 'https://github.com/flutter/plugins/tree/main/packages/path_provider/path_provider_macos' - s.license = { :type => 'BSD', :file => '../LICENSE' } - s.author = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' } - s.source = { :http => 'https://github.com/flutter/plugins/tree/main/packages/path_provider/path_provider_macos' } - s.source_files = 'Classes/**/*' - s.dependency 'FlutterMacOS' - - s.platform = :osx - s.osx.deployment_target = '10.11' - s.swift_version = '5.0' -end - diff --git a/packages/path_provider/path_provider_macos/pigeons/copyright.txt b/packages/path_provider/path_provider_macos/pigeons/copyright.txt deleted file mode 100644 index 1236b63caf3a..000000000000 --- a/packages/path_provider/path_provider_macos/pigeons/copyright.txt +++ /dev/null @@ -1,3 +0,0 @@ -Copyright 2013 The Flutter Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. diff --git a/script/configs/exclude_all_plugins_app.yaml b/script/configs/exclude_all_plugins_app.yaml index 8dd0fde5ef5f..c116402919b4 100644 --- a/script/configs/exclude_all_plugins_app.yaml +++ b/script/configs/exclude_all_plugins_app.yaml @@ -8,3 +8,8 @@ # This is a permament entry, as it should never be a direct app dependency. - plugin_platform_interface +# Temporarily excluded to avoid runtime conflicts with +# path_provider_macos and _ios, which are still what path_provider +# uses. This will be removed when the switch to path_provider_foundation +# is complete. See https://github.com/flutter/flutter/issues/117941 +- path_provider_foundation