Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full Xcode 16 supports + iOS 18 support #2100

Merged
merged 76 commits into from
Sep 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
7321b26
Compile on iOS 18
Dimillian Jun 11, 2024
1977a4d
Fix more warnings
Dimillian Jun 11, 2024
177bc21
Tweak build settings
Dimillian Jun 11, 2024
0032c1d
Migrate to Swift Tests
Dimillian Jun 12, 2024
f82b2b4
better tests
Dimillian Jun 12, 2024
d28a48d
Merge branch 'main' into iOS-18
Dimillian Jun 12, 2024
3182762
Merge branch 'main' into iOS-18
Dimillian Jun 12, 2024
a372069
Fix
Dimillian Jun 12, 2024
427d54c
Merge branch 'main' into iOS-18
Dimillian Jun 12, 2024
e6f7c38
Merge branch 'main' into iOS-18
Dimillian Jun 12, 2024
22a7b2a
Merge branch 'main' into iOS-18
Dimillian Jun 24, 2024
c52e3dd
Fix tests
Dimillian Jun 25, 2024
1f753e4
Merge branch 'main' into iOS-18
Dimillian Jun 26, 2024
440f2ac
Merge branch 'main' into iOS-18
Dimillian Jun 26, 2024
95d5511
Merge branch 'main' into iOS-18
Dimillian Jun 26, 2024
0237dd0
Merge branch 'main' into iOS-18
Dimillian Jun 26, 2024
a56afca
Merge branch 'main' into iOS-18
Dimillian Jun 26, 2024
416dc70
Merge branch 'main' into iOS-18
Dimillian Jul 2, 2024
4515039
Merge branch 'main' into iOS-18
Dimillian Jul 3, 2024
76a6462
Merge branch 'main' into iOS-18
Dimillian Jul 5, 2024
e051437
More TabView cleanup
Dimillian Jul 9, 2024
1008008
Revert "More TabView cleanup"
Dimillian Jul 9, 2024
3ec5c8c
Tabbar fix + bump to iOS 18
Dimillian Jul 9, 2024
7c2e8d6
Remove popToRoot
Dimillian Jul 9, 2024
1ffb4ab
Cleanup scrollToTop
Dimillian Jul 9, 2024
f377e59
Support both TapBar
Dimillian Jul 9, 2024
30c5c36
Better TabView support
Dimillian Jul 9, 2024
24c7d5b
Better TabView support
Dimillian Jul 9, 2024
a73bebc
Merge branch 'main' into iOS-18
Dimillian Jul 10, 2024
07bbd6d
Merge branch 'main' into iOS-18
Dimillian Jul 16, 2024
ce27e4d
Cleanup
Dimillian Jul 17, 2024
efab56d
Merge branch 'main' into iOS-18
Dimillian Jul 17, 2024
09104ee
Disable TabView animations
Dimillian Jul 18, 2024
500c798
Remove id in ForEach
Dimillian Jul 18, 2024
814a0f7
Remove external init for StatusRowView
Dimillian Jul 18, 2024
5a99d4f
Cleanup
Dimillian Jul 18, 2024
4582771
Merge branch 'main' into iOS-18
Dimillian Jul 20, 2024
57452a6
Merge branch 'main' into iOS-18
Dimillian Jul 21, 2024
8ce8eba
More Swift 6 concurrency
Dimillian Jul 21, 2024
9646fb0
Merge branch 'main' into iOS-18
Dimillian Jul 22, 2024
acf9552
Merge branch 'main' into iOS-18
Dimillian Jul 22, 2024
1ca8fef
Merge branch 'main' into iOS-18
Dimillian Jul 29, 2024
66b2e7e
Merge branch 'main' into iOS-18
Dimillian Jul 30, 2024
17bb066
Merge branch 'main' into iOS-18
Dimillian Jul 31, 2024
bef4a36
Merge branch 'main' into iOS-18
Dimillian Jul 31, 2024
4a31539
Merge branch 'main' into iOS-18
Dimillian Aug 1, 2024
cf38a77
Merge branch 'main' into iOS-18
Dimillian Aug 5, 2024
b56ed36
Swift 6 mode
Dimillian Aug 12, 2024
a184351
Fixes
Dimillian Aug 12, 2024
e618ebf
Full Swift 6 packages support
Dimillian Aug 12, 2024
5d1d540
For now compile env in Swift 5 mode
Dimillian Aug 12, 2024
57c2133
Fix archive
Dimillian Aug 12, 2024
caac133
More fix to Archive
Dimillian Aug 12, 2024
2a2b607
Address `dispatch_assert_queue_fail` (#2161)
NachoSoto Aug 13, 2024
864cc26
Bump Env to Swift 6
Dimillian Aug 13, 2024
fca7684
Fix push notification
Dimillian Aug 13, 2024
5a8862b
Remove unecessary workaround
Dimillian Aug 13, 2024
da8cb99
Cleanup
Dimillian Aug 13, 2024
5fd18d4
Merge branch 'main' into iOS-18
Dimillian Aug 13, 2024
1b4506c
Merge branch 'main' into iOS-18
Dimillian Aug 14, 2024
ce904bb
Merge branch 'main' into iOS-18
Dimillian Aug 14, 2024
cd8d360
Merge branch 'main' into iOS-18
Dimillian Aug 14, 2024
a2c3e4f
Merge branch 'main' into iOS-18
Dimillian Aug 14, 2024
4d0498e
Move to @Entry
Dimillian Aug 15, 2024
84ecd09
Merge branch 'main' into iOS-18
Dimillian Aug 15, 2024
5d4038f
Merge branch 'main' into iOS-18
Dimillian Aug 15, 2024
3253d06
Merge branch 'main' into iOS-18
Dimillian Aug 15, 2024
5b97f5f
Merge branch 'main' into iOS-18
Dimillian Aug 15, 2024
3f6c3a0
Merge branch 'main' into iOS-18
Dimillian Aug 30, 2024
e5fb928
Merge branch 'main' into iOS-18
Dimillian Sep 3, 2024
aa91d16
Merge branch 'main' into iOS-18
Dimillian Sep 6, 2024
1af3cf4
Fix TabView on Catalyst
Dimillian Sep 6, 2024
ecdfdd4
Fix build
Dimillian Sep 6, 2024
1f93393
Fix build 2
Dimillian Sep 6, 2024
1da81f4
fix warning
Dimillian Sep 6, 2024
4b19ef6
Fix icons for iOS 18
Dimillian Sep 6, 2024
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
2 changes: 1 addition & 1 deletion IceCubesActionExtension/ActionRequestHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import Models
import Network

// Sample code was sending this from a thread to another, let asume @Sendable for this
extension NSExtensionContext: @unchecked Sendable {}
extension NSExtensionContext: @unchecked @retroactive Sendable {}

final class ActionRequestHandler: NSObject, NSExtensionRequestHandling, Sendable {
enum Error: Swift.Error {
Expand Down
48 changes: 36 additions & 12 deletions IceCubesApp.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1211,7 +1211,7 @@
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2,7";
};
name = Debug;
Expand Down Expand Up @@ -1246,7 +1246,7 @@
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2,7";
VALIDATE_PRODUCT = YES;
};
Expand All @@ -1269,7 +1269,7 @@
INFOPLIST_FILE = IceCubesAppWidgetsExtension/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = IceCubesAppWidgetsExtension;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 17.4;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand All @@ -1283,7 +1283,7 @@
SUPPORTS_MACCATALYST = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
Expand All @@ -1305,7 +1305,7 @@
INFOPLIST_FILE = IceCubesAppWidgetsExtension/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = IceCubesAppWidgetsExtension;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 17.4;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand All @@ -1318,7 +1318,7 @@
SKIP_INSTALL = YES;
SUPPORTS_MACCATALYST = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
Expand Down Expand Up @@ -1353,7 +1353,7 @@
SUPPORTS_MACCATALYST = YES;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
Expand Down Expand Up @@ -1387,7 +1387,7 @@
SUPPORTS_MACCATALYST = YES;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
Expand Down Expand Up @@ -1456,6 +1456,7 @@
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = "";
};
name = Debug;
};
Expand Down Expand Up @@ -1515,6 +1516,7 @@
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = "";
};
name = Release;
};
Expand Down Expand Up @@ -1569,8 +1571,19 @@
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = 5.0;
SWIFT_UPCOMING_FEATURE_CONCISE_MAGIC_FILE = YES;
SWIFT_UPCOMING_FEATURE_DEPRECATE_APPLICATION_MAIN = YES;
SWIFT_UPCOMING_FEATURE_DISABLE_OUTWARD_ACTOR_ISOLATION = YES;
SWIFT_UPCOMING_FEATURE_FORWARD_TRAILING_CLOSURES = YES;
SWIFT_UPCOMING_FEATURE_GLOBAL_CONCURRENCY = YES;
SWIFT_UPCOMING_FEATURE_IMPLICIT_OPEN_EXISTENTIALS = YES;
SWIFT_UPCOMING_FEATURE_IMPORT_OBJC_FORWARD_DECLS = YES;
SWIFT_UPCOMING_FEATURE_INFER_SENDABLE_FROM_CAPTURES = YES;
SWIFT_UPCOMING_FEATURE_ISOLATED_DEFAULT_VALUES = YES;
SWIFT_UPCOMING_FEATURE_REGION_BASED_ISOLATION = YES;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2,7";
_EXPERIMENTAL_SWIFT_EXPLICIT_MODULES = NO;
};
name = Debug;
};
Expand Down Expand Up @@ -1625,8 +1638,19 @@
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = 5.0;
SWIFT_UPCOMING_FEATURE_CONCISE_MAGIC_FILE = YES;
SWIFT_UPCOMING_FEATURE_DEPRECATE_APPLICATION_MAIN = YES;
SWIFT_UPCOMING_FEATURE_DISABLE_OUTWARD_ACTOR_ISOLATION = YES;
SWIFT_UPCOMING_FEATURE_FORWARD_TRAILING_CLOSURES = YES;
SWIFT_UPCOMING_FEATURE_GLOBAL_CONCURRENCY = YES;
SWIFT_UPCOMING_FEATURE_IMPLICIT_OPEN_EXISTENTIALS = YES;
SWIFT_UPCOMING_FEATURE_IMPORT_OBJC_FORWARD_DECLS = YES;
SWIFT_UPCOMING_FEATURE_INFER_SENDABLE_FROM_CAPTURES = YES;
SWIFT_UPCOMING_FEATURE_ISOLATED_DEFAULT_VALUES = YES;
SWIFT_UPCOMING_FEATURE_REGION_BASED_ISOLATION = YES;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2,7";
_EXPERIMENTAL_SWIFT_EXPLICIT_MODULES = NO;
};
name = Release;
};
Expand Down Expand Up @@ -1660,7 +1684,7 @@
SUPPORTS_MACCATALYST = YES;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
Expand Down Expand Up @@ -1695,7 +1719,7 @@
SUPPORTS_MACCATALYST = YES;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,16 +56,20 @@
debugServiceExtension = "internal"
allowLocationSimulation = "YES"
launchAutomaticallySubstyle = "2">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<RemoteRunnable
runnableDebuggingMode = "1"
BundleIdentifier = "com.thomasricouard.IceCubesApp"
RemotePath = "/Users/dimillian/Library/Developer/CoreSimulator/Devices/8EF923D0-4CF1-49B6-B287-5F05AD5440C1/data/Containers/Bundle/Application/C447A1D1-9BC9-49C9-8FA5-130E8403972F/Ice Cubes.app">
</RemoteRunnable>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9FBFE638292A715500C250E9"
BuildableName = "Ice Cubes.app"
BlueprintName = "IceCubesApp"
ReferencedContainer = "container:IceCubesApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</MacroExpansion>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
Expand Down
15 changes: 5 additions & 10 deletions IceCubesApp/App/AppRegistry.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ extension View {
navigationDestination(for: RouterDestination.self) { destination in
switch destination {
case let .accountDetail(id):
AccountDetailView(accountId: id, scrollToTopSignal: .constant(0))
AccountDetailView(accountId: id)
case let .accountDetailWithAccount(account):
AccountDetailView(account: account, scrollToTopSignal: .constant(0))
AccountDetailView(account: account)
case let .accountSettingsWithAccount(account, appAccount):
AccountSettingsView(account: account, appAccount: appAccount)
case let .accountMediaGridView(account, initialMedia):
Expand All @@ -38,19 +38,16 @@ extension View {
TimelineView(timeline: .constant(.hashtag(tag: tag, accountId: accountId)),
pinnedFilters: .constant([]),
selectedTagGroup: .constant(nil),
scrollToTopSignal: .constant(0),
canFilterTimeline: false)
case let .list(list):
TimelineView(timeline: .constant(.list(list: list)),
pinnedFilters: .constant([]),
selectedTagGroup: .constant(nil),
scrollToTopSignal: .constant(0),
canFilterTimeline: false)
case let .linkTimeline(url, title):
TimelineView(timeline: .constant(.link(url: url, title: title)),
pinnedFilters: .constant([]),
selectedTagGroup: .constant(nil),
scrollToTopSignal: .constant(0),
canFilterTimeline: false)
case let .following(id):
AccountsListView(mode: .following(accountId: id))
Expand All @@ -66,7 +63,6 @@ extension View {
TimelineView(timeline: .constant(.trending),
pinnedFilters: .constant([]),
selectedTagGroup: .constant(nil),
scrollToTopSignal: .constant(0),
canFilterTimeline: false)
case let .trendingLinks(cards):
TrendingLinksListView(cards: cards)
Expand All @@ -76,8 +72,7 @@ extension View {
NotificationsRequestsListView()
case let .notificationForAccount(accountId):
NotificationsListView(lockedType: nil,
lockedAccountId: accountId,
scrollToTopSignal: .constant(0))
lockedAccountId: accountId)
case .blockedAccounts:
AccountsListView(mode: .blocked)
case .mutedAccounts:
Expand Down Expand Up @@ -135,7 +130,7 @@ extension View {
StatusEditHistoryView(statusId: status)
.withEnvironments()
case .settings:
SettingsTabs(popToRootTab: .constant(.settings), isModal: true)
SettingsTabs(isModal: true)
.withEnvironments()
.preferredColorScheme(Theme.shared.selectedScheme == .dark ? .dark : .light)
case .accountPushNotficationsSettings:
Expand Down Expand Up @@ -236,7 +231,7 @@ struct ActivityView: UIViewControllerRepresentable {
func updateUIViewController(_: UIActivityViewController, context _: UIViewControllerRepresentableContext<ActivityView>) {}
}

extension URL: Identifiable {
extension URL: @retroactive Identifiable {
public var id: String {
absoluteString
}
Expand Down
Loading
Loading