Skip to content

Commit 8904667

Browse files
authored
Drop support for iOS 15 (#156)
Drop support for iOS 15. **Minimum iOS 16 now required.** Also update Xcode 26 settings.
1 parent 4660247 commit 8904667

File tree

6 files changed

+53
-102
lines changed

6 files changed

+53
-102
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ NEXT
1212

1313
This release closes the [0.1.9 milestone](https://github.com/jessesquires/ReactiveCollectionsKit/milestone/2?closed=1).
1414

15+
- Drop support for iOS 15. **Minimum iOS 16 now required.**
1516
- Fixed a (potential) bug where cells with the same name, but in different modules, would provide the same (conflicting) default `reuseIdentifier`. Default `reuseIdentifiers` now return the fully qualified type name. ([@jessesquires](https://github.com/jessesquires), [#150](https://github.com/jessesquires/ReactiveCollectionsKit/issues/150), [#154](https://github.com/jessesquires/ReactiveCollectionsKit/pull/154))
1617
- Previous behavior: `"MyCellClassName"`
1718
- New behavior: `"MyModuleName.MyCellClassName"`

Example/ExampleApp.xcodeproj/project.pbxproj

Lines changed: 21 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
archiveVersion = 1;
44
classes = {
55
};
6-
objectVersion = 77;
6+
objectVersion = 90;
77
objects = {
88

99
/* Begin PBXBuildFile section */
@@ -38,14 +38,12 @@
3838
/* Begin PBXCopyFilesBuildPhase section */
3939
0B31B9B72BCC63D4006F2078 /* Embed Frameworks */ = {
4040
isa = PBXCopyFilesBuildPhase;
41-
buildActionMask = 2147483647;
4241
dstPath = "";
43-
dstSubfolderSpec = 10;
42+
dstSubfolder = Frameworks;
4443
files = (
4544
0B31B9B62BCC63D4006F2078 /* ReactiveCollectionsKit.framework in Embed Frameworks */,
4645
);
4746
name = "Embed Frameworks";
48-
runOnlyForDeploymentPostprocessing = 0;
4947
};
5048
/* End PBXCopyFilesBuildPhase section */
5149

@@ -117,25 +115,19 @@
117115
/* Begin PBXFrameworksBuildPhase section */
118116
0B31B9382BCC62A4006F2078 /* Frameworks */ = {
119117
isa = PBXFrameworksBuildPhase;
120-
buildActionMask = 2147483647;
121118
files = (
122119
0B31B9B52BCC63D4006F2078 /* ReactiveCollectionsKit.framework in Frameworks */,
123120
);
124-
runOnlyForDeploymentPostprocessing = 0;
125121
};
126122
0B31B94E2BCC62A5006F2078 /* Frameworks */ = {
127123
isa = PBXFrameworksBuildPhase;
128-
buildActionMask = 2147483647;
129124
files = (
130125
);
131-
runOnlyForDeploymentPostprocessing = 0;
132126
};
133127
0B31B9582BCC62A5006F2078 /* Frameworks */ = {
134128
isa = PBXFrameworksBuildPhase;
135-
buildActionMask = 2147483647;
136129
files = (
137130
);
138-
runOnlyForDeploymentPostprocessing = 0;
139131
};
140132
/* End PBXFrameworksBuildPhase section */
141133

@@ -190,8 +182,6 @@
190182
);
191183
buildRules = (
192184
);
193-
dependencies = (
194-
);
195185
fileSystemSynchronizedGroups = (
196186
0B8701882CAE1D980098CB29 /* Sources */,
197187
);
@@ -269,7 +259,7 @@
269259
);
270260
mainGroup = 0B31B9322BCC62A4006F2078;
271261
minimizedProjectReferenceProxies = 1;
272-
preferredProjectObjectVersion = 77;
262+
preferredProjectObjectVersion = 90;
273263
productRefGroup = 0B31B93C2BCC62A4006F2078 /* Products */;
274264
projectDirPath = "";
275265
projectReferences = (
@@ -300,48 +290,36 @@
300290
/* Begin PBXResourcesBuildPhase section */
301291
0B31B9392BCC62A4006F2078 /* Resources */ = {
302292
isa = PBXResourcesBuildPhase;
303-
buildActionMask = 2147483647;
304293
files = (
305294
);
306-
runOnlyForDeploymentPostprocessing = 0;
307295
};
308296
0B31B94F2BCC62A5006F2078 /* Resources */ = {
309297
isa = PBXResourcesBuildPhase;
310-
buildActionMask = 2147483647;
311298
files = (
312299
);
313-
runOnlyForDeploymentPostprocessing = 0;
314300
};
315301
0B31B9592BCC62A5006F2078 /* Resources */ = {
316302
isa = PBXResourcesBuildPhase;
317-
buildActionMask = 2147483647;
318303
files = (
319304
);
320-
runOnlyForDeploymentPostprocessing = 0;
321305
};
322306
/* End PBXResourcesBuildPhase section */
323307

324308
/* Begin PBXSourcesBuildPhase section */
325309
0B31B9372BCC62A4006F2078 /* Sources */ = {
326310
isa = PBXSourcesBuildPhase;
327-
buildActionMask = 2147483647;
328311
files = (
329312
);
330-
runOnlyForDeploymentPostprocessing = 0;
331313
};
332314
0B31B94D2BCC62A5006F2078 /* Sources */ = {
333315
isa = PBXSourcesBuildPhase;
334-
buildActionMask = 2147483647;
335316
files = (
336317
);
337-
runOnlyForDeploymentPostprocessing = 0;
338318
};
339319
0B31B9572BCC62A5006F2078 /* Sources */ = {
340320
isa = PBXSourcesBuildPhase;
341-
buildActionMask = 2147483647;
342321
files = (
343322
);
344-
runOnlyForDeploymentPostprocessing = 0;
345323
};
346324
/* End PBXSourcesBuildPhase section */
347325

@@ -359,7 +337,7 @@
359337
/* End PBXTargetDependency section */
360338

361339
/* Begin XCBuildConfiguration section */
362-
0B31B9632BCC62A5006F2078 /* Debug */ = {
340+
0B31B9632BCC62A5006F2078 /* Debug configuration for PBXProject "ExampleApp" */ = {
363341
isa = XCBuildConfiguration;
364342
buildSettings = {
365343
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -415,7 +393,7 @@
415393
GENERATE_INFOPLIST_FILE = YES;
416394
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
417395
INFOPLIST_KEY_UIMainStoryboardFile = Main;
418-
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
396+
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
419397
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
420398
MARKETING_VERSION = 1.0;
421399
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@@ -430,7 +408,7 @@
430408
};
431409
name = Debug;
432410
};
433-
0B31B9642BCC62A5006F2078 /* Release */ = {
411+
0B31B9642BCC62A5006F2078 /* Release configuration for PBXProject "ExampleApp" */ = {
434412
isa = XCBuildConfiguration;
435413
buildSettings = {
436414
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -480,7 +458,7 @@
480458
GENERATE_INFOPLIST_FILE = YES;
481459
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
482460
INFOPLIST_KEY_UIMainStoryboardFile = Main;
483-
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
461+
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
484462
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
485463
MARKETING_VERSION = 1.0;
486464
MTL_ENABLE_DEBUG_INFO = NO;
@@ -494,7 +472,7 @@
494472
};
495473
name = Release;
496474
};
497-
0B31B9662BCC62A5006F2078 /* Debug */ = {
475+
0B31B9662BCC62A5006F2078 /* Debug configuration for PBXNativeTarget "ExampleApp" */ = {
498476
isa = XCBuildConfiguration;
499477
buildSettings = {
500478
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
@@ -524,7 +502,7 @@
524502
};
525503
name = Debug;
526504
};
527-
0B31B9672BCC62A5006F2078 /* Release */ = {
505+
0B31B9672BCC62A5006F2078 /* Release configuration for PBXNativeTarget "ExampleApp" */ = {
528506
isa = XCBuildConfiguration;
529507
buildSettings = {
530508
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
@@ -554,7 +532,7 @@
554532
};
555533
name = Release;
556534
};
557-
0B31B9692BCC62A5006F2078 /* Debug */ = {
535+
0B31B9692BCC62A5006F2078 /* Debug configuration for PBXNativeTarget "ExampleAppTests" */ = {
558536
isa = XCBuildConfiguration;
559537
buildSettings = {
560538
BUNDLE_LOADER = "$(TEST_HOST)";
@@ -573,7 +551,7 @@
573551
};
574552
name = Debug;
575553
};
576-
0B31B96A2BCC62A5006F2078 /* Release */ = {
554+
0B31B96A2BCC62A5006F2078 /* Release configuration for PBXNativeTarget "ExampleAppTests" */ = {
577555
isa = XCBuildConfiguration;
578556
buildSettings = {
579557
BUNDLE_LOADER = "$(TEST_HOST)";
@@ -592,7 +570,7 @@
592570
};
593571
name = Release;
594572
};
595-
0B31B96C2BCC62A5006F2078 /* Debug */ = {
573+
0B31B96C2BCC62A5006F2078 /* Debug configuration for PBXNativeTarget "ExampleAppUITests" */ = {
596574
isa = XCBuildConfiguration;
597575
buildSettings = {
598576
CODE_SIGN_STYLE = Manual;
@@ -610,7 +588,7 @@
610588
};
611589
name = Debug;
612590
};
613-
0B31B96D2BCC62A5006F2078 /* Release */ = {
591+
0B31B96D2BCC62A5006F2078 /* Release configuration for PBXNativeTarget "ExampleAppUITests" */ = {
614592
isa = XCBuildConfiguration;
615593
buildSettings = {
616594
CODE_SIGN_STYLE = Manual;
@@ -634,37 +612,33 @@
634612
0B31B9362BCC62A4006F2078 /* Build configuration list for PBXProject "ExampleApp" */ = {
635613
isa = XCConfigurationList;
636614
buildConfigurations = (
637-
0B31B9632BCC62A5006F2078 /* Debug */,
638-
0B31B9642BCC62A5006F2078 /* Release */,
615+
0B31B9632BCC62A5006F2078 /* Debug configuration for PBXProject "ExampleApp" */,
616+
0B31B9642BCC62A5006F2078 /* Release configuration for PBXProject "ExampleApp" */,
639617
);
640-
defaultConfigurationIsVisible = 0;
641618
defaultConfigurationName = Release;
642619
};
643620
0B31B9652BCC62A5006F2078 /* Build configuration list for PBXNativeTarget "ExampleApp" */ = {
644621
isa = XCConfigurationList;
645622
buildConfigurations = (
646-
0B31B9662BCC62A5006F2078 /* Debug */,
647-
0B31B9672BCC62A5006F2078 /* Release */,
623+
0B31B9662BCC62A5006F2078 /* Debug configuration for PBXNativeTarget "ExampleApp" */,
624+
0B31B9672BCC62A5006F2078 /* Release configuration for PBXNativeTarget "ExampleApp" */,
648625
);
649-
defaultConfigurationIsVisible = 0;
650626
defaultConfigurationName = Release;
651627
};
652628
0B31B9682BCC62A5006F2078 /* Build configuration list for PBXNativeTarget "ExampleAppTests" */ = {
653629
isa = XCConfigurationList;
654630
buildConfigurations = (
655-
0B31B9692BCC62A5006F2078 /* Debug */,
656-
0B31B96A2BCC62A5006F2078 /* Release */,
631+
0B31B9692BCC62A5006F2078 /* Debug configuration for PBXNativeTarget "ExampleAppTests" */,
632+
0B31B96A2BCC62A5006F2078 /* Release configuration for PBXNativeTarget "ExampleAppTests" */,
657633
);
658-
defaultConfigurationIsVisible = 0;
659634
defaultConfigurationName = Release;
660635
};
661636
0B31B96B2BCC62A5006F2078 /* Build configuration list for PBXNativeTarget "ExampleAppUITests" */ = {
662637
isa = XCConfigurationList;
663638
buildConfigurations = (
664-
0B31B96C2BCC62A5006F2078 /* Debug */,
665-
0B31B96D2BCC62A5006F2078 /* Release */,
639+
0B31B96C2BCC62A5006F2078 /* Debug configuration for PBXNativeTarget "ExampleAppUITests" */,
640+
0B31B96D2BCC62A5006F2078 /* Release configuration for PBXNativeTarget "ExampleAppUITests" */,
666641
);
667-
defaultConfigurationIsVisible = 0;
668642
defaultConfigurationName = Release;
669643
};
670644
/* End XCConfigurationList section */

Example/Sources/Grid/GridViewController.swift

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,16 +89,18 @@ final class GridViewController: ExampleViewController, CellEventCoordinator {
8989

9090
// Item
9191
let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0),
92-
heightDimension: .fractionalHeight(1.0))
92+
heightDimension: .fractionalHeight(0.5))
9393
let item = NSCollectionLayoutItem(layoutSize: itemSize, supplementaryItems: [badge])
9494
item.contentInsets = NSDirectionalEdgeInsets(top: inset, leading: inset, bottom: inset, trailing: inset)
9595

9696
// Group
9797
let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(0.5),
9898
heightDimension: .fractionalHeight(0.5))
99-
let group = NSCollectionLayoutGroup.vertical(layoutSize: groupSize,
100-
subitem: item,
101-
count: 2)
99+
let group = NSCollectionLayoutGroup.vertical(
100+
layoutSize: groupSize,
101+
repeatingSubitem: item,
102+
count: 2
103+
)
102104

103105
// Headers and Footers
104106
let headerFooterSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0),

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import PackageDescription
2020
let package = Package(
2121
name: "ReactiveCollectionsKit",
2222
platforms: [
23-
.iOS(.v15)
23+
.iOS(.v16)
2424
],
2525
products: [
2626
.library(

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ driver.update(viewModel: updated)
9090
9191
## Requirements
9292

93-
- iOS 15.0+
93+
- iOS 16.0+
9494
- Swift 5.10+
9595
- Xcode 26.0+
9696
- [SwiftLint](https://github.com/realm/SwiftLint)

0 commit comments

Comments
 (0)