diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index 5847aa58..f440ed13 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -52,20 +52,31 @@ jobs: with: flags: ${{ matrix.package }} name: ${{ matrix.package }} - fail_ci_if_error: false + # fail_ci_if_error: false build-ios: name: Build ${{ matrix.package }} iOS on ${{ matrix.os }} with Xcode ${{ matrix.xcode }} and Flutter ${{ matrix.flutter }} runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-13, macos-14] + os: [macos-13, macos-14, macos-15] package: [sign_in_with_apple/sign_in_with_apple] - xcode: ["14.3.1", "15.2"] - flutter: ["3.19.1"] + xcode: ["14.3.1", "15.2", "16.0"] + flutter: ["3.19.1", "3.24.3"] exclude: - os: macos-13 + xcode: 15.2 + - os: macos-13 + xcode: 16.0 + - os: macos-14 + xcode: 16.0 + flutter: 3.19.1 + - os: macos-15 + xcode: 15.2 + - os: macos-15 xcode: 14.3.1 + - os: macos-15 + flutter: 3.19.1 steps: - uses: actions/checkout@v1 - uses: actions/setup-java@v1 @@ -85,73 +96,73 @@ jobs: OTHER_SWIFT_FLAGS: "-warnings-as-errors" DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer - build-android: - name: Build ${{ matrix.package }} Android on ${{ matrix.os }} and Flutter ${{ matrix.flutter }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - package: [sign_in_with_apple/sign_in_with_apple] - flutter: ["3.19.1"] - steps: - - uses: actions/checkout@v1 - - uses: actions/setup-java@v2 - with: - distribution: "zulu" # OpenJDK - java-version: "17" - - uses: subosito/flutter-action@4389e6cbc6cb8a4b18c628ff96ff90be0e926aa8 # v1.5.3 - with: - flutter-version: ${{ matrix.flutter }} - - name: Build Android - run: flutter build appbundle - working-directory: packages/${{ matrix.package }}/example + # build-android: + # name: Build ${{ matrix.package }} Android on ${{ matrix.os }} and Flutter ${{ matrix.flutter }} + # runs-on: ${{ matrix.os }} + # strategy: + # matrix: + # os: [ubuntu-22.04] + # package: [sign_in_with_apple/sign_in_with_apple] + # flutter: ["3.19.1"] + # steps: + # - uses: actions/checkout@v1 + # - uses: actions/setup-java@v2 + # with: + # distribution: "zulu" # OpenJDK + # java-version: "17" + # - uses: subosito/flutter-action@4389e6cbc6cb8a4b18c628ff96ff90be0e926aa8 # v1.5.3 + # with: + # flutter-version: ${{ matrix.flutter }} + # - name: Build Android + # run: flutter build appbundle + # working-directory: packages/${{ matrix.package }}/example - build-macos: - name: Build ${{ matrix.package }} macOS on ${{ matrix.os }} with Xcode ${{ matrix.xcode }} and Flutter ${{ matrix.flutter }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-13, macos-14] - package: [sign_in_with_apple/sign_in_with_apple] - xcode: ["14.3.1", "15.2"] - flutter: ["3.19.1"] - exclude: - - os: macos-13 - xcode: 14.3.1 - steps: - - uses: actions/checkout@v1 - - uses: actions/setup-java@v1 - with: - java-version: "12.x" - - name: Xcode select - run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app - - uses: subosito/flutter-action@4389e6cbc6cb8a4b18c628ff96ff90be0e926aa8 # v1.5.3 - with: - flutter-version: ${{ matrix.flutter }} - - name: Enable macOS Desktop Integration - run: flutter config --enable-macos-desktop - - name: Flutter doctor (version check) - run: flutter doctor - - name: Build macOS - run: flutter build macos - working-directory: packages/${{ matrix.package }}/example - env: - OTHER_SWIFT_FLAGS: "-warnings-as-errors" - DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer + # build-macos: + # name: Build ${{ matrix.package }} macOS on ${{ matrix.os }} with Xcode ${{ matrix.xcode }} and Flutter ${{ matrix.flutter }} + # runs-on: ${{ matrix.os }} + # strategy: + # matrix: + # os: [macos-13, macos-14] + # package: [sign_in_with_apple/sign_in_with_apple] + # xcode: ["14.3.1", "15.2"] + # flutter: ["3.19.1"] + # exclude: + # - os: macos-13 + # xcode: 14.3.1 + # steps: + # - uses: actions/checkout@v1 + # - uses: actions/setup-java@v1 + # with: + # java-version: "12.x" + # - name: Xcode select + # run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app + # - uses: subosito/flutter-action@4389e6cbc6cb8a4b18c628ff96ff90be0e926aa8 # v1.5.3 + # with: + # flutter-version: ${{ matrix.flutter }} + # - name: Enable macOS Desktop Integration + # run: flutter config --enable-macos-desktop + # - name: Flutter doctor (version check) + # run: flutter doctor + # - name: Build macOS + # run: flutter build macos + # working-directory: packages/${{ matrix.package }}/example + # env: + # OTHER_SWIFT_FLAGS: "-warnings-as-errors" + # DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer - build-web: - name: Build ${{ matrix.package }} Web on ${{ matrix.os }} and Flutter ${{ matrix.flutter }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - package: [sign_in_with_apple/sign_in_with_apple] - flutter: ["3.19.1"] - steps: - - uses: actions/checkout@v1 - - uses: subosito/flutter-action@4389e6cbc6cb8a4b18c628ff96ff90be0e926aa8 # v1.5.3 - with: - flutter-version: ${{ matrix.flutter }} - - name: Build Web - run: flutter build web - working-directory: packages/${{ matrix.package }}/example + # build-web: + # name: Build ${{ matrix.package }} Web on ${{ matrix.os }} and Flutter ${{ matrix.flutter }} + # runs-on: ${{ matrix.os }} + # strategy: + # matrix: + # os: [ubuntu-22.04] + # package: [sign_in_with_apple/sign_in_with_apple] + # flutter: ["3.19.1"] + # steps: + # - uses: actions/checkout@v1 + # - uses: subosito/flutter-action@4389e6cbc6cb8a4b18c628ff96ff90be0e926aa8 # v1.5.3 + # with: + # flutter-version: ${{ matrix.flutter }} + # - name: Build Web + # run: flutter build web + # working-directory: packages/${{ matrix.package }}/example diff --git a/packages/sign_in_with_apple/sign_in_with_apple/CHANGELOG.md b/packages/sign_in_with_apple/sign_in_with_apple/CHANGELOG.md index 0f2ae603..bee42013 100644 --- a/packages/sign_in_with_apple/sign_in_with_apple/CHANGELOG.md +++ b/packages/sign_in_with_apple/sign_in_with_apple/CHANGELOG.md @@ -1,3 +1,7 @@ +## 6.1.3 + +- Support Xcode 16 (in addition to all previously supported versions) + ## 6.1.2 - Switch to modern Gradle setup (https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply) for the example app diff --git a/packages/sign_in_with_apple/sign_in_with_apple/darwin/Classes/SignInWithAppleError.swift b/packages/sign_in_with_apple/sign_in_with_apple/darwin/Classes/SignInWithAppleError.swift index 35ea67fa..ffb78407 100644 --- a/packages/sign_in_with_apple/sign_in_with_apple/darwin/Classes/SignInWithAppleError.swift +++ b/packages/sign_in_with_apple/sign_in_with_apple/darwin/Classes/SignInWithAppleError.swift @@ -112,6 +112,10 @@ public enum SignInWithAppleError { // use https://swiftly.dev/swift-versions to match Swift to Xcode versions (as this is in practice driven by the OS SDK, not Swift version) case .notInteractive: errorCode = "authorization-error/notInteractive" +#endif +#if compiler(>=6.0) + case .matchedExcludedCredential: + errorCode = "authorization-error/matchedExcludedCredential" #endif @unknown default: print("[SignInWithApplePlugin]: Unknown authorization error code: \(code)"); diff --git a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Flutter/AppFrameworkInfo.plist b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Flutter/AppFrameworkInfo.plist index 8d4492f9..7c569640 100644 --- a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Flutter/AppFrameworkInfo.plist +++ b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 9.0 + 12.0 diff --git a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Podfile b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Podfile index 36470166..6b946bb1 100644 --- a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Podfile +++ b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -platform :ios, '9.0' # iOS 13 is the minimum supported for signInWithApple, however we can still build this app on older versions. +platform :ios, '12.0' # iOS 13 is the minimum supported for signInWithApple, however we can still build this app on older versions. # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' @@ -38,7 +38,7 @@ post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) target.build_configurations.each do |config| - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0' + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' end end end diff --git a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Podfile.lock b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Podfile.lock index 095b9bc4..1d3ee836 100644 --- a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Podfile.lock +++ b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Podfile.lock @@ -14,9 +14,9 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/sign_in_with_apple/ios" SPEC CHECKSUMS: - Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 sign_in_with_apple: f3bf75217ea4c2c8b91823f225d70230119b8440 -PODFILE CHECKSUM: d981cf8337d0943dd868346839125427256b32bd +PODFILE CHECKSUM: 1e1f157c1a20c6bac7abde50f6d1e11fbeac5303 COCOAPODS: 1.11.2 diff --git a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner.xcodeproj/project.pbxproj b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner.xcodeproj/project.pbxproj index 2141d70e..faabcd45 100644 --- a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -68,7 +68,6 @@ 10135393A9089B654C7B3C80 /* Pods-Runner.release.xcconfig */, EBDBDA9BE28C8968F80280F4 /* Pods-Runner.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -156,7 +155,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1020; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -200,10 +199,12 @@ /* Begin PBXShellScriptBuildPhase section */ 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); name = "Thin Binary"; outputPaths = ( @@ -236,6 +237,7 @@ }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -340,7 +342,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 = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -358,7 +360,10 @@ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.aboutyou.dart_packages.sign_in_with_apple_example; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -414,7 +419,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 = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -463,11 +468,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 = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -482,7 +488,10 @@ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.aboutyou.dart_packages.sign_in_with_apple_example; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -501,7 +510,10 @@ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.aboutyou.dart_packages.sign_in_with_apple_example; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; diff --git a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index a28140cf..e67b2808 100644 --- a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =6.0)) || (os(macOS) && swift(>=6.0.0)) +@main +#else @UIApplicationMain +#endif @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner/Info.plist b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner/Info.plist index 53145414..b6093b6f 100644 --- a/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner/Info.plist +++ b/packages/sign_in_with_apple/sign_in_with_apple/example/ios/Runner/Info.plist @@ -41,5 +41,9 @@ UIViewControllerBasedStatusBarAppearance + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + diff --git a/packages/sign_in_with_apple/sign_in_with_apple/pubspec.yaml b/packages/sign_in_with_apple/sign_in_with_apple/pubspec.yaml index e79deeee..65a5dd7f 100644 --- a/packages/sign_in_with_apple/sign_in_with_apple/pubspec.yaml +++ b/packages/sign_in_with_apple/sign_in_with_apple/pubspec.yaml @@ -1,6 +1,6 @@ name: sign_in_with_apple description: Flutter bridge to initiate Sign in with Apple (on iOS, macOS, and Android). Includes support for keychain entries as well as signing in with an Apple ID. -version: 6.1.2 +version: 6.1.3-dev1 homepage: https://github.com/aboutyou/dart_packages/tree/master/packages/sign_in_with_apple repository: https://github.com/aboutyou/dart_packages