From 46646a41a90a12b9a15abb65a5c652c26050f1b4 Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Wed, 18 Sep 2024 22:43:19 +0800 Subject: [PATCH] Support Xcode 16 --- ...CheckoutWebInteractionControllerNode.swift | 2 +- .../Sources/BrowserDocumentContent.swift | 2 +- .../BrowserUI/Sources/BrowserWebContent.swift | 2 +- submodules/Camera/Sources/VideoRecorder.swift | 4 ++++ .../Sources/ICloudResources.swift | 24 +++++++++++-------- .../MtProtoKit/Sources/PingFoundation.h | 4 +++- ...aptedPostboxUnkeyedEncodingContainer.swift | 10 ++++---- .../Sources/ChannelStatsController.swift | 2 +- .../Sources/ChatQrCodeScreen.swift | 3 ++- .../TelegramUI/Sources/AppDelegate.swift | 13 ++++++---- .../Sources/WebEmbedPlayerNode.swift | 2 +- .../WebUI/Sources/WebAppController.swift | 2 +- 12 files changed, 44 insertions(+), 26 deletions(-) diff --git a/submodules/BotPaymentsUI/Sources/BotCheckoutWebInteractionControllerNode.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutWebInteractionControllerNode.swift index d24ef2092d..a7ffa753b9 100644 --- a/submodules/BotPaymentsUI/Sources/BotCheckoutWebInteractionControllerNode.swift +++ b/submodules/BotPaymentsUI/Sources/BotCheckoutWebInteractionControllerNode.swift @@ -2,7 +2,7 @@ import Foundation import UIKit import Display import AsyncDisplayKit -import WebKit +@preconcurrency import WebKit import TelegramPresentationData import AccountContext diff --git a/submodules/BrowserUI/Sources/BrowserDocumentContent.swift b/submodules/BrowserUI/Sources/BrowserDocumentContent.swift index 1f72255144..5932fd64de 100644 --- a/submodules/BrowserUI/Sources/BrowserDocumentContent.swift +++ b/submodules/BrowserUI/Sources/BrowserDocumentContent.swift @@ -9,7 +9,7 @@ import TelegramPresentationData import TelegramUIPreferences import PresentationDataUtils import AccountContext -import WebKit +@preconcurrency import WebKit import AppBundle import PromptUI import SafariServices diff --git a/submodules/BrowserUI/Sources/BrowserWebContent.swift b/submodules/BrowserUI/Sources/BrowserWebContent.swift index 8ea2acde0d..64df260bd4 100644 --- a/submodules/BrowserUI/Sources/BrowserWebContent.swift +++ b/submodules/BrowserUI/Sources/BrowserWebContent.swift @@ -9,7 +9,7 @@ import TelegramPresentationData import TelegramUIPreferences import PresentationDataUtils import AccountContext -import WebKit +@preconcurrency import WebKit import AppBundle import PromptUI import SafariServices diff --git a/submodules/Camera/Sources/VideoRecorder.swift b/submodules/Camera/Sources/VideoRecorder.swift index 09dd80a039..f205d95c72 100644 --- a/submodules/Camera/Sources/VideoRecorder.swift +++ b/submodules/Camera/Sources/VideoRecorder.swift @@ -123,6 +123,8 @@ private final class VideoRecorderImpl { private var previousAppendTime: Double? public func appendVideoSampleBuffer(_ sampleBuffer: CMSampleBuffer) { + nonisolated(unsafe) let sampleBuffer = sampleBuffer + self.queue.async { guard self.hasError() == nil && !self.stopped else { return @@ -246,6 +248,8 @@ private final class VideoRecorderImpl { } public func appendAudioSampleBuffer(_ sampleBuffer: CMSampleBuffer) { + nonisolated(unsafe) let sampleBuffer = sampleBuffer + self.queue.async { guard self.hasError() == nil && !self.stopped else { return diff --git a/submodules/ICloudResources/Sources/ICloudResources.swift b/submodules/ICloudResources/Sources/ICloudResources.swift index c24cb17a46..2ef67e5e9d 100644 --- a/submodules/ICloudResources/Sources/ICloudResources.swift +++ b/submodules/ICloudResources/Sources/ICloudResources.swift @@ -132,20 +132,24 @@ public func iCloudFileDescription(_ url: URL) -> Signal Signal +#import + #pragma mark * PingFoundation @protocol PingFoundationDelegate; @@ -59,7 +61,7 @@ typedef NS_ENUM(NSInteger, PingFoundationAddressStyle) { /*! The address family for `hostAddress`, or `AF_UNSPEC` if that's nil. */ -@property (nonatomic, assign, readonly) sa_family_t hostAddressFamily; +@property (nonatomic, assign, readonly) __uint8_t hostAddressFamily; /*! The identifier used by pings by this object. * \details When you create an instance of this object it generates a random identifier diff --git a/submodules/Postbox/Sources/Utils/Encoder/AdaptedPostboxUnkeyedEncodingContainer.swift b/submodules/Postbox/Sources/Utils/Encoder/AdaptedPostboxUnkeyedEncodingContainer.swift index 365aa0e83d..b97d6453df 100644 --- a/submodules/Postbox/Sources/Utils/Encoder/AdaptedPostboxUnkeyedEncodingContainer.swift +++ b/submodules/Postbox/Sources/Utils/Encoder/AdaptedPostboxUnkeyedEncodingContainer.swift @@ -159,10 +159,6 @@ extension _AdaptedPostboxEncoder.UnkeyedContainer: UnkeyedEncodingContainer { func encode(_ value: String) throws { self.items.append(.string(value)) } - - func encode(_ value: Data) throws { - self.items.append(.data(value)) - } func nestedContainer(keyedBy keyType: NestedKey.Type) -> KeyedEncodingContainer where NestedKey : CodingKey { preconditionFailure() @@ -177,6 +173,12 @@ extension _AdaptedPostboxEncoder.UnkeyedContainer: UnkeyedEncodingContainer { } } +private extension _AdaptedPostboxEncoder.UnkeyedContainer { + func encode(_ value: Data) throws { + self.items.append(.data(value)) + } +} + extension _AdaptedPostboxEncoder.UnkeyedContainer: AdaptedPostboxEncodingContainer { func makeData() -> Data { preconditionFailure() diff --git a/submodules/StatisticsUI/Sources/ChannelStatsController.swift b/submodules/StatisticsUI/Sources/ChannelStatsController.swift index 177019657a..8380bb77fb 100644 --- a/submodules/StatisticsUI/Sources/ChannelStatsController.swift +++ b/submodules/StatisticsUI/Sources/ChannelStatsController.swift @@ -2500,7 +2500,7 @@ public func channelStatsController(context: AccountContext, updatedPresentationD })) } var tooltipScreen: UndoOverlayController? - var timer: Foundation.Timer? + nonisolated(unsafe) var timer: Foundation.Timer? showTimeoutTooltipImpl = { cooldownUntilTimestamp in let remainingCooldownSeconds = cooldownUntilTimestamp - Int32(Date().timeIntervalSince1970) diff --git a/submodules/TelegramUI/Components/Chat/ChatQrCodeScreen/Sources/ChatQrCodeScreen.swift b/submodules/TelegramUI/Components/Chat/ChatQrCodeScreen/Sources/ChatQrCodeScreen.swift index 7512ef03f8..ced42108a1 100644 --- a/submodules/TelegramUI/Components/Chat/ChatQrCodeScreen/Sources/ChatQrCodeScreen.swift +++ b/submodules/TelegramUI/Components/Chat/ChatQrCodeScreen/Sources/ChatQrCodeScreen.swift @@ -2477,10 +2477,11 @@ private func renderVideo(context: AccountContext, backgroundImage: UIImage, user let layerInstruction = compositionLayerInstruction(for: compositionTrack, assetTrack: assetTrack) instruction.layerInstructions = [layerInstruction] - guard let export = AVAssetExportSession(asset: composition, presetName: AVAssetExportPresetHighestQuality) else { + guard let exportValue = AVAssetExportSession(asset: composition, presetName: AVAssetExportPresetHighestQuality) else { completion(nil) return } + nonisolated(unsafe) let export = exportValue let videoName = UUID().uuidString let exportURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(videoName).appendingPathExtension("mp4") diff --git a/submodules/TelegramUI/Sources/AppDelegate.swift b/submodules/TelegramUI/Sources/AppDelegate.swift index e73b473521..a5ce5c753c 100644 --- a/submodules/TelegramUI/Sources/AppDelegate.swift +++ b/submodules/TelegramUI/Sources/AppDelegate.swift @@ -1808,14 +1808,19 @@ private func extractAccountManagerState(records: AccountRecordsView