Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 0 additions & 17 deletions .github/actions/cache-cocoapods/action.yml

This file was deleted.

13 changes: 13 additions & 0 deletions .github/actions/setup-xcode/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: 'Setup Xcode'
description: 'Select the Xcode version used for iOS and macOS builds'
inputs:
xcode-version:
description: 'Xcode version to select. Defaults to the newest one on the runner image.'
required: false
default: 'latest'
runs:
using: "composite"
steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ inputs.xcode-version }}
9 changes: 2 additions & 7 deletions .github/workflows/distribute_external.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ jobs:
ios:
needs: determine_platforms
if: ${{ needs.determine_platforms.outputs.run_ios == 'true' }}
runs-on: macos-15 # Requires xcode 15 or later
runs-on: xcode-27

steps:
- name: Connect Bot
Expand All @@ -95,15 +95,10 @@ jobs:
with:
fetch-depth: 0

- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '26.3'
- uses: ./.github/actions/setup-xcode

- uses: ./.github/actions/setup-flutter

- name: "Disable Swift Package Manager"
run: flutter config --no-enable-swift-package-manager

- uses: ./.github/actions/setup-ruby

- name: Distribute to TestFlight
Expand Down
18 changes: 4 additions & 14 deletions .github/workflows/distribute_internal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ jobs:
ios:
needs: determine_platforms
if: ${{ needs.determine_platforms.outputs.run_ios == 'true' }}
runs-on: macos-15 # Requires xcode 15 or later
runs-on: xcode-27
timeout-minutes: 30
steps:
- name: Connect Bot
Expand All @@ -105,15 +105,10 @@ jobs:
with:
fetch-depth: 0

- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '26.3'
- uses: ./.github/actions/setup-xcode

- uses: ./.github/actions/setup-flutter

- name: "Disable Swift Package Manager"
run: flutter config --no-enable-swift-package-manager

- name: "Install Tools"
run: flutter pub global activate melos

Expand All @@ -136,7 +131,7 @@ jobs:
ios_testflight:
needs: determine_platforms
if: ${{ needs.determine_platforms.outputs.run_ios == 'true' }}
runs-on: macos-15 # Requires xcode 15 or later
runs-on: xcode-27
timeout-minutes: 30
steps:
- name: Connect Bot
Expand All @@ -149,15 +144,10 @@ jobs:
with:
fetch-depth: 0

- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '26.3'
- uses: ./.github/actions/setup-xcode

- uses: ./.github/actions/setup-flutter

- name: "Disable Swift Package Manager"
run: flutter config --no-enable-swift-package-manager

- name: "Install Tools"
run: flutter pub global activate melos

Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/e2e_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,11 @@ jobs:
steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/setup-xcode
with:
# Pinned to match the simulator runtimes this job selects.
xcode-version: '26.2'

- uses: ./.github/actions/setup-flutter

- uses: ./.github/actions/setup-ruby
Expand All @@ -148,15 +153,9 @@ jobs:
- name: Bootstrap
run: |
flutter precache --ios
flutter config --no-enable-swift-package-manager
flutter pub global activate melos
melos bootstrap

# After Bootstrap so the cache keys hash the resolved pubspec.lock
- uses: ./.github/actions/cache-cocoapods
with:
key-suffix: ${{ runner.os }}

- name: Run e2e (iOS simulator)
working-directory: sample_app/ios
run: bundle exec fastlane run_e2e_test platform:ios ios:"${{ env.IOS_SIMULATOR_VERSION }}" device:"${{ env.IOS_SIMULATOR_DEVICE }}" batch:${{ matrix.batch }} batch_count:${{ strategy.job-total }}
Expand Down
13 changes: 5 additions & 8 deletions .github/workflows/e2e_test_cron.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,14 @@ jobs:
- ios: "17.5"
device: "iPhone 15 Pro"
setup_runtime: true
env:
XCODE_VERSION: "26.2"
steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/setup-xcode
with:
# Pinned to match the simulator runtimes this job selects.
xcode-version: '26.2'

- uses: ./.github/actions/setup-ruby

- uses: ./.github/actions/setup-flutter
Expand All @@ -127,15 +130,9 @@ jobs:
- name: Bootstrap
run: |
flutter precache --ios
flutter config --no-enable-swift-package-manager
flutter pub global activate melos
melos bootstrap

# After Bootstrap so the cache keys hash the resolved pubspec.lock
- uses: ./.github/actions/cache-cocoapods
with:
key-suffix: ${{ matrix.ios }}

- name: Launch Allure TestOps
working-directory: sample_app/ios
run: bundle exec fastlane allure_launch cron:true
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/stream_flutter_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ jobs:
working-directory: sample_app/android
build-command: bundle exec fastlane build_apk
- platform: ios
os: macos-15 # Requires xcode 15 or later
os: xcode-27
working-directory: sample_app/ios
build-command: bundle exec fastlane build_ipa no_codesign:true

Expand All @@ -177,10 +177,8 @@ jobs:
with:
fetch-depth: 0
- uses: ./.github/actions/setup-flutter
- uses: maxim-lobanov/setup-xcode@v1
- uses: ./.github/actions/setup-xcode
if: matrix.platform == 'ios'
with:
xcode-version: '26.3'
- name: "Install Tools"
run: flutter pub global activate melos
- name: "Bootstrap Workspace"
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ GeneratedPluginRegistrant.*
**/ios/Flutter/Flutter.framework
**/ios/Flutter/Flutter.podspec
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/Signing.xcconfig
**/ios/Flutter/app.flx
**/ios/Flutter/app.zip
**/ios/Flutter/flutter_assets/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,5 @@
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>11.0</string>
</dict>
</plist>
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1430;
LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
Expand Down Expand Up @@ -275,7 +275,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
Expand Down Expand Up @@ -357,7 +357,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -406,7 +406,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand All @@ -26,6 +26,7 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
Expand All @@ -45,11 +46,13 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
Expand Down
11 changes: 7 additions & 4 deletions packages/stream_chat/example/ios/Runner/AppDelegate.swift
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
import UIKit
import Flutter
import UIKit

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
@main
@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}

func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) {
GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry)
}
}
29 changes: 25 additions & 4 deletions packages/stream_chat/example/ios/Runner/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
Expand All @@ -22,6 +24,29 @@
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<false/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneClassName</key>
<string>UIWindowScene</string>
<key>UISceneConfigurationName</key>
<string>flutter</string>
<key>UISceneDelegateClassName</key>
<string>FlutterSceneDelegate</string>
<key>UISceneStoryboardFile</key>
<string>Main</string>
</dict>
</array>
</dict>
</dict>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
Expand All @@ -41,9 +66,5 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
</dict>
</plist>
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,5 @@
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>12.0</string>
</dict>
</plist>
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"
Loading
Loading