From d8801271b4efe4ee92262717a73b9d459d04e61c Mon Sep 17 00:00:00 2001 From: Louis Scheers Date: Tue, 16 Jun 2026 16:12:07 +0200 Subject: [PATCH 1/2] chore: update to flutter 3.44.2 --- .fvmrc | 2 +- .vscode/settings.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.fvmrc b/.fvmrc index e8b41515..afd20432 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,3 +1,3 @@ { - "flutter": "3.35.7" + "flutter": "3.44.2" } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 7f0468ad..a88cf858 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { - "dart.flutterSdkPath": ".fvm/versions/3.35.7" + "dart.flutterSdkPath": ".fvm/versions/3.44.2" } \ No newline at end of file From f72d826faa4574bb8fd94fb8818deb9fddf89c0f Mon Sep 17 00:00:00 2001 From: Louis Scheers Date: Tue, 16 Jun 2026 16:39:33 +0200 Subject: [PATCH 2/2] feat(social_share): add Swift Package Manager support Convert the appinio_social_share iOS plugin to support Swift Package Manager alongside CocoaPods, per the Flutter SwiftPM migration guide. - Add ios/appinio_social_share/Package.swift depending on FlutterFramework and the facebook-ios-sdk (FacebookCore + FacebookShare, pinned to 17.0.2) - Move Swift sources from ios/Classes to the SwiftPM target layout - Fold the Objective-C registration shim into the Swift plugin class (rename SwiftAppinioSocialSharePlugin -> AppinioSocialSharePlugin, exposed via @objc) since SwiftPM targets are single-language - Add explicit Flutter/UIKit imports to ShareUtil.swift - Update the podspec source_files path and bump the deployment target to iOS 12 to match the Facebook SDK - Ignore .build/ and .swiftpm/ Verified with both an SwiftPM build (flutter build ios) and a CocoaPods lint (pod lib lint). Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/appinio_social_share/.gitignore | 4 + .../ios/Flutter/AppFrameworkInfo.plist | 2 - .../example/ios/Podfile.lock | 77 ----------- .../ios/Runner.xcodeproj/project.pbxproj | 46 ++++--- .../xcshareddata/swiftpm/Package.resolved | 68 ++++++++++ .../xcshareddata/xcschemes/Runner.xcscheme | 18 +++ .../xcshareddata/swiftpm/Package.resolved | 68 ++++++++++ .../example/ios/Runner/AppDelegate.swift | 9 +- .../example/ios/Runner/Info.plist | 121 ++++++++++-------- .../appinio_social_share/example/pubspec.lock | 22 ++-- .../ios/Classes/AppinioSocialSharePlugin.h | 4 - .../ios/Classes/AppinioSocialSharePlugin.m | 15 --- .../ios/appinio_social_share.podspec | 4 +- .../ios/appinio_social_share/Package.swift | 29 +++++ .../AppinioSocialSharePlugin.swift} | 5 +- .../MyActivityItemSource.swift | 0 .../appinio_social_share}/ShareUtil.swift | 2 + 17 files changed, 310 insertions(+), 184 deletions(-) create mode 100644 packages/appinio_social_share/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved create mode 100644 packages/appinio_social_share/example/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved delete mode 100644 packages/appinio_social_share/ios/Classes/AppinioSocialSharePlugin.h delete mode 100644 packages/appinio_social_share/ios/Classes/AppinioSocialSharePlugin.m create mode 100644 packages/appinio_social_share/ios/appinio_social_share/Package.swift rename packages/appinio_social_share/ios/{Classes/SwiftAppinioSocialSharePlugin.swift => appinio_social_share/Sources/appinio_social_share/AppinioSocialSharePlugin.swift} (95%) rename packages/appinio_social_share/ios/{Classes => appinio_social_share/Sources/appinio_social_share}/MyActivityItemSource.swift (100%) rename packages/appinio_social_share/ios/{Classes => appinio_social_share/Sources/appinio_social_share}/ShareUtil.swift (99%) diff --git a/packages/appinio_social_share/.gitignore b/packages/appinio_social_share/.gitignore index 96486fd9..361814e5 100644 --- a/packages/appinio_social_share/.gitignore +++ b/packages/appinio_social_share/.gitignore @@ -21,6 +21,10 @@ migrate_working_dir/ # is commented out by default. #.vscode/ +# Swift Package Manager related +.build/ +.swiftpm/ + # Flutter/Dart/Pub related # Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. /pubspec.lock diff --git a/packages/appinio_social_share/example/ios/Flutter/AppFrameworkInfo.plist b/packages/appinio_social_share/example/ios/Flutter/AppFrameworkInfo.plist index 1dc6cf76..391a902b 100644 --- a/packages/appinio_social_share/example/ios/Flutter/AppFrameworkInfo.plist +++ b/packages/appinio_social_share/example/ios/Flutter/AppFrameworkInfo.plist @@ -20,7 +20,5 @@ ???? CFBundleVersion 1.0 - MinimumOSVersion - 13.0 diff --git a/packages/appinio_social_share/example/ios/Podfile.lock b/packages/appinio_social_share/example/ios/Podfile.lock index 2c23e0ba..5132c183 100644 --- a/packages/appinio_social_share/example/ios/Podfile.lock +++ b/packages/appinio_social_share/example/ios/Podfile.lock @@ -1,92 +1,15 @@ PODS: - - appinio_social_share (0.0.1): - - FBSDKCoreKit (= 17.0.2) - - FBSDKShareKit (= 17.0.2) - - Flutter - - DKImagePickerController/Core (4.3.9): - - DKImagePickerController/ImageDataManager - - DKImagePickerController/Resource - - DKImagePickerController/ImageDataManager (4.3.9) - - DKImagePickerController/PhotoGallery (4.3.9): - - DKImagePickerController/Core - - DKPhotoGallery - - DKImagePickerController/Resource (4.3.9) - - DKPhotoGallery (0.0.19): - - DKPhotoGallery/Core (= 0.0.19) - - DKPhotoGallery/Model (= 0.0.19) - - DKPhotoGallery/Preview (= 0.0.19) - - DKPhotoGallery/Resource (= 0.0.19) - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Core (0.0.19): - - DKPhotoGallery/Model - - DKPhotoGallery/Preview - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Model (0.0.19): - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Preview (0.0.19): - - DKPhotoGallery/Model - - DKPhotoGallery/Resource - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Resource (0.0.19): - - SDWebImage - - SwiftyGif - - FBAEMKit (17.0.2): - - FBSDKCoreKit_Basics (= 17.0.2) - - FBSDKCoreKit (17.0.2): - - FBAEMKit (= 17.0.2) - - FBSDKCoreKit_Basics (= 17.0.2) - - FBSDKCoreKit_Basics (17.0.2) - - FBSDKShareKit (17.0.2): - - FBSDKCoreKit (= 17.0.2) - - file_picker (0.0.1): - - DKImagePickerController/PhotoGallery - - Flutter - Flutter (1.0.0) - - SDWebImage (5.21.3): - - SDWebImage/Core (= 5.21.3) - - SDWebImage/Core (5.21.3) - - SwiftyGif (5.4.5) DEPENDENCIES: - - appinio_social_share (from `.symlinks/plugins/appinio_social_share/ios`) - - file_picker (from `.symlinks/plugins/file_picker/ios`) - Flutter (from `Flutter`) -SPEC REPOS: - trunk: - - DKImagePickerController - - DKPhotoGallery - - FBAEMKit - - FBSDKCoreKit - - FBSDKCoreKit_Basics - - FBSDKShareKit - - SDWebImage - - SwiftyGif - EXTERNAL SOURCES: - appinio_social_share: - :path: ".symlinks/plugins/appinio_social_share/ios" - file_picker: - :path: ".symlinks/plugins/file_picker/ios" Flutter: :path: Flutter SPEC CHECKSUMS: - appinio_social_share: 25605b916b5a35606a7f2ba8153d0218a4c0282e - DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c - DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 - FBAEMKit: 619f96ea65427e8afca240d5b0f4703738dfdf5c - FBSDKCoreKit: a5f384db2e9ee84e98494fed8f983d2bd79accff - FBSDKCoreKit_Basics: d35c775aaf243a2d731dfae7be3a74b1987285ab - FBSDKShareKit: e7ec3bed8e82dabc04e56f3cf44ef99a1864309e - file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 - SDWebImage: 16309af6d214ba3f77a7c6f6fdda888cb313a50a - SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 PODFILE CHECKSUM: 0dbd5a87e0ace00c9610d2037ac22083a01f861d diff --git a/packages/appinio_social_share/example/ios/Runner.xcodeproj/project.pbxproj b/packages/appinio_social_share/example/ios/Runner.xcodeproj/project.pbxproj index ee9e7ff7..1f2292cb 100644 --- a/packages/appinio_social_share/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/appinio_social_share/example/ios/Runner.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 43BD0F44B414D3DC1691453A /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC677EFFF6496D61BC1CA136 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; 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 */; }; @@ -36,6 +37,9 @@ 6E9B8484D73F13BEE02BE6D0 /* 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 = ""; }; 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 = ""; }; + 784666492D4C4C64000A1A5F /* FlutterFramework */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterFramework; path = Flutter/ephemeral/Packages/.packages/FlutterFramework; sourceTree = ""; }; + 78DABEA22ED26510000E7860 /* appinio_social_share */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = appinio_social_share; path = ../../ios/appinio_social_share; sourceTree = ""; }; + 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.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 = ""; }; @@ -54,6 +58,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, 43BD0F44B414D3DC1691453A /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -64,6 +69,9 @@ 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( + 78DABEA22ED26510000E7860 /* appinio_social_share */, + 784666492D4C4C64000A1A5F /* FlutterFramework */, + 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */, 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, 9740EEB21CF90195004384FC /* Debug.xcconfig */, 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, @@ -138,13 +146,15 @@ 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 51E2AEF2E9DDE3E6CF6E9E11 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( ); name = Runner; + packageProductDependencies = ( + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, + ); productName = Runner; productReference = 97C146EE1CF9000F007C117D /* Runner.app */; productType = "com.apple.product-type.application"; @@ -173,6 +183,9 @@ Base, ); mainGroup = 97C146E51CF9000F007C117D; + packageReferences = ( + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, + ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; projectRoot = ""; @@ -235,23 +248,6 @@ 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; }; - 51E2AEF2E9DDE3E6CF6E9E11 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -549,6 +545,20 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { + isa = XCSwiftPackageProductDependency; + productName = FlutterGeneratedPluginSwiftPackage; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; } diff --git a/packages/appinio_social_share/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/packages/appinio_social_share/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 00000000..d8d0acf5 --- /dev/null +++ b/packages/appinio_social_share/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,68 @@ +{ + "pins" : [ + { + "identity" : "dkcamera", + "kind" : "remoteSourceControl", + "location" : "https://github.com/zhangao0086/DKCamera", + "state" : { + "branch" : "master", + "revision" : "5c691d11014b910aff69f960475d70e65d9dcc96" + } + }, + { + "identity" : "dkimagepickercontroller", + "kind" : "remoteSourceControl", + "location" : "https://github.com/zhangao0086/DKImagePickerController", + "state" : { + "branch" : "4.3.9", + "revision" : "0bdfeacefa308545adde07bef86e349186335915" + } + }, + { + "identity" : "dkphotogallery", + "kind" : "remoteSourceControl", + "location" : "https://github.com/zhangao0086/DKPhotoGallery", + "state" : { + "branch" : "master", + "revision" : "311c1bc7a94f1538f82773a79c84374b12a2ef3d" + } + }, + { + "identity" : "facebook-ios-sdk", + "kind" : "remoteSourceControl", + "location" : "https://github.com/facebook/facebook-ios-sdk", + "state" : { + "revision" : "9ed465ccd73c231144d49a9c681774577c616f34", + "version" : "17.0.2" + } + }, + { + "identity" : "sdwebimage", + "kind" : "remoteSourceControl", + "location" : "https://github.com/SDWebImage/SDWebImage", + "state" : { + "revision" : "2de3a496eaf6df9a1312862adcfd54acd73c39c0", + "version" : "5.21.7" + } + }, + { + "identity" : "swiftygif", + "kind" : "remoteSourceControl", + "location" : "https://github.com/kirualex/SwiftyGif.git", + "state" : { + "revision" : "4430cbc148baa3907651d40562d96325426f409a", + "version" : "5.4.5" + } + }, + { + "identity" : "tocropviewcontroller", + "kind" : "remoteSourceControl", + "location" : "https://github.com/TimOliver/TOCropViewController", + "state" : { + "revision" : "d4a6d8100f4b886fdbc8ae399bf144ff3e9afb7e", + "version" : "2.8.0" + } + } + ], + "version" : 2 +} diff --git a/packages/appinio_social_share/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/appinio_social_share/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 9c12df59..5db441f5 100644 --- a/packages/appinio_social_share/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/appinio_social_share/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -5,6 +5,24 @@ + + + + + + + + + + Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/appinio_social_share/example/ios/Runner/Info.plist b/packages/appinio_social_share/example/ios/Runner/Info.plist index 0ffb79fb..344b2140 100644 --- a/packages/appinio_social_share/example/ios/Runner/Info.plist +++ b/packages/appinio_social_share/example/ios/Runner/Info.plist @@ -1,55 +1,76 @@ + + CADisableMinimumFrameDurationOnPhone + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Example + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + example + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSApplicationQueriesSchemes + + whatsapp + + LSRequiresIPhoneOS + + UIApplicationSceneManifest - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Example - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - example - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - - LSApplicationQueriesSchemes - - whatsapp - + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneConfigurationName + flutter + UISceneDelegateClassName + FlutterSceneDelegate + UISceneStoryboardFile + Main + + + - \ No newline at end of file + UIApplicationSupportsIndirectInputEvents + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/packages/appinio_social_share/example/pubspec.lock b/packages/appinio_social_share/example/pubspec.lock index 097fb25d..f1986fe7 100644 --- a/packages/appinio_social_share/example/pubspec.lock +++ b/packages/appinio_social_share/example/pubspec.lock @@ -36,10 +36,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: @@ -171,26 +171,26 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.19" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.18.0" path: dependency: transitive description: @@ -264,10 +264,10 @@ packages: dependency: transitive description: name: test_api - sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" + sha256: "949a932224383300f01be9221c39180316445ecb8e7547f70a41a35bf421fb9e" url: "https://pub.dev" source: hosted - version: "0.7.6" + version: "0.7.11" vector_math: dependency: transitive description: @@ -309,5 +309,5 @@ packages: source: hosted version: "6.6.1" sdks: - dart: ">=3.9.0 <4.0.0" + dart: ">=3.10.0-0 <4.0.0" flutter: ">=3.35.0" diff --git a/packages/appinio_social_share/ios/Classes/AppinioSocialSharePlugin.h b/packages/appinio_social_share/ios/Classes/AppinioSocialSharePlugin.h deleted file mode 100644 index 425d1965..00000000 --- a/packages/appinio_social_share/ios/Classes/AppinioSocialSharePlugin.h +++ /dev/null @@ -1,4 +0,0 @@ -#import - -@interface AppinioSocialSharePlugin : NSObject -@end diff --git a/packages/appinio_social_share/ios/Classes/AppinioSocialSharePlugin.m b/packages/appinio_social_share/ios/Classes/AppinioSocialSharePlugin.m deleted file mode 100644 index 08eaafec..00000000 --- a/packages/appinio_social_share/ios/Classes/AppinioSocialSharePlugin.m +++ /dev/null @@ -1,15 +0,0 @@ -#import "AppinioSocialSharePlugin.h" -#if __has_include() -#import -#else -// Support project import fallback if the generated compatibility header -// is not copied when this plugin is created as a library. -// https://forums.swift.org/t/swift-static-libraries-dont-copy-generated-objective-c-header/19816 -#import "appinio_social_share-Swift.h" -#endif - -@implementation AppinioSocialSharePlugin -+ (void)registerWithRegistrar:(NSObject*)registrar { - [SwiftAppinioSocialSharePlugin registerWithRegistrar:registrar]; -} -@end diff --git a/packages/appinio_social_share/ios/appinio_social_share.podspec b/packages/appinio_social_share/ios/appinio_social_share.podspec index 2bd1d57e..c2fc80a8 100644 --- a/packages/appinio_social_share/ios/appinio_social_share.podspec +++ b/packages/appinio_social_share/ios/appinio_social_share.podspec @@ -13,13 +13,13 @@ A new Flutter project. s.license = { :file => '../LICENSE' } s.author = { 'Your Company' => 'email@example.com' } s.source = { :path => '.' } - s.source_files = 'Classes/**/*' + s.source_files = 'appinio_social_share/Sources/appinio_social_share/**/*.swift' s.dependency 'Flutter' s.dependency 'FBSDKCoreKit', '17.0.2' s.dependency 'FBSDKShareKit', '17.0.2' s.static_framework = true - s.platform = :ios, '9.0' + s.platform = :ios, '12.0' # Flutter.framework does not contain a i386 slice. s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } diff --git a/packages/appinio_social_share/ios/appinio_social_share/Package.swift b/packages/appinio_social_share/ios/appinio_social_share/Package.swift new file mode 100644 index 00000000..f3a85582 --- /dev/null +++ b/packages/appinio_social_share/ios/appinio_social_share/Package.swift @@ -0,0 +1,29 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "appinio_social_share", + platforms: [ + // Matches the Facebook iOS SDK minimum deployment target. + .iOS("12.0") + ], + products: [ + .library(name: "appinio-social-share", targets: ["appinio_social_share"]) + ], + dependencies: [ + .package(name: "FlutterFramework", path: "../FlutterFramework"), + .package(url: "https://github.com/facebook/facebook-ios-sdk", exact: "17.0.2") + ], + targets: [ + .target( + name: "appinio_social_share", + dependencies: [ + .product(name: "FlutterFramework", package: "FlutterFramework"), + .product(name: "FacebookCore", package: "facebook-ios-sdk"), + .product(name: "FacebookShare", package: "facebook-ios-sdk") + ] + ) + ] +) diff --git a/packages/appinio_social_share/ios/Classes/SwiftAppinioSocialSharePlugin.swift b/packages/appinio_social_share/ios/appinio_social_share/Sources/appinio_social_share/AppinioSocialSharePlugin.swift similarity index 95% rename from packages/appinio_social_share/ios/Classes/SwiftAppinioSocialSharePlugin.swift rename to packages/appinio_social_share/ios/appinio_social_share/Sources/appinio_social_share/AppinioSocialSharePlugin.swift index aa19c9d0..d0774abe 100644 --- a/packages/appinio_social_share/ios/Classes/SwiftAppinioSocialSharePlugin.swift +++ b/packages/appinio_social_share/ios/appinio_social_share/Sources/appinio_social_share/AppinioSocialSharePlugin.swift @@ -6,7 +6,8 @@ import Photos -public class SwiftAppinioSocialSharePlugin: NSObject, FlutterPlugin, SharingDelegate { +@objc(AppinioSocialSharePlugin) +public class AppinioSocialSharePlugin: NSObject, FlutterPlugin, SharingDelegate { private let INSTAGRAM_DIRECT:String = "instagram_direct"; private let INSTAGRAM_STORIES:String = "instagram_stories"; @@ -31,7 +32,7 @@ public class SwiftAppinioSocialSharePlugin: NSObject, FlutterPlugin, SharingDele public static func register(with registrar: FlutterPluginRegistrar) { let channel = FlutterMethodChannel(name: "appinio_social_share", binaryMessenger: registrar.messenger()) - let instance = SwiftAppinioSocialSharePlugin() + let instance = AppinioSocialSharePlugin() registrar.addMethodCallDelegate(instance, channel: channel) } diff --git a/packages/appinio_social_share/ios/Classes/MyActivityItemSource.swift b/packages/appinio_social_share/ios/appinio_social_share/Sources/appinio_social_share/MyActivityItemSource.swift similarity index 100% rename from packages/appinio_social_share/ios/Classes/MyActivityItemSource.swift rename to packages/appinio_social_share/ios/appinio_social_share/Sources/appinio_social_share/MyActivityItemSource.swift diff --git a/packages/appinio_social_share/ios/Classes/ShareUtil.swift b/packages/appinio_social_share/ios/appinio_social_share/Sources/appinio_social_share/ShareUtil.swift similarity index 99% rename from packages/appinio_social_share/ios/Classes/ShareUtil.swift rename to packages/appinio_social_share/ios/appinio_social_share/Sources/appinio_social_share/ShareUtil.swift index 36b25f1c..05d6e9c2 100644 --- a/packages/appinio_social_share/ios/Classes/ShareUtil.swift +++ b/packages/appinio_social_share/ios/appinio_social_share/Sources/appinio_social_share/ShareUtil.swift @@ -1,3 +1,5 @@ +import Flutter +import UIKit import Photos import FBSDKCoreKit import FBSDKShareKit