Skip to content

Commit b0883bc

Browse files
authored
Merge pull request #166 from RxSwiftCommunity/release/2.12.0
Release/2.12.0
2 parents ccf32fd + 752be3f commit b0883bc

23 files changed

+106
-53
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ jobs:
88
runs-on: macos-latest
99
strategy:
1010
matrix:
11-
destination: ['platform=iOS Simulator,OS=13.0,name=iPhone 11 Pro']
12-
swift-version: ['5.1']
11+
destination: ['platform=iOS Simulator,OS=14.0,name=iPhone 11 Pro']
12+
swift-version: ['5.3']
1313
steps:
1414
- name: Install Swift
1515
uses: YOCKOW/Action-setup-swift@master
@@ -18,7 +18,7 @@ jobs:
1818
- uses: actions/checkout@master
1919
- name: Compile and Test
2020
run: |
21-
carthage bootstrap --platform iOS --cache-builds && xcodebuild clean test -project RxFlow.xcodeproj -scheme RxFlow -destination "${destination}" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO
21+
./xcarthage-bootstrap.sh --platform iOS --cache-builds && xcodebuild clean test -project RxFlow.xcodeproj -scheme RxFlow -destination "${destination}" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO
2222
env:
2323
destination: ${{ matrix.destination }}
2424

.swiftlint.yml

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
included:
22
- RxFlow
3-
excluded:
4-
- Carthage
5-
- Pods
63
analyzer_rules:
74
disabled_rules:
85
- large_tuple
96
- unused_declaration
10-
- file_header
7+
- unused_import
118
opt_in_rules:
129
- anyobject_protocol
1310
- array_init
@@ -25,7 +22,6 @@ opt_in_rules:
2522
- explicit_init
2623
- extension_access_modifier
2724
- fallthrough
28-
- file_header
2925
- first_where
3026
- flatmap_over_map_reduce
3127
- identical_operands
@@ -83,10 +79,3 @@ identifier_name:
8379
- id
8480
number_separator:
8581
minimum_length: 5
86-
file_name:
87-
excluded:
88-
- main.swift
89-
- LinuxMain.swift
90-
- TestHelpers.swift
91-
- shim.swift
92-
- AutomaticRuleTests.generated.swift

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
** Version 2.12.0 **:
2+
3+
- bump to RxSwift 6.0.0
4+
- change retain policy in Reactive+UIViewController.swift
5+
16
** Version 2.10 **:
27

38
- remove Reusable as a private dependency

Cartfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
github "ReactiveX/RxSwift" ~> 5.1.1
1+
github "ReactiveX/RxSwift" ~> 6.0.0

Cartfile.resolved

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
github "ReactiveX/RxSwift" "5.1.1"
1+
github "ReactiveX/RxSwift" "6.0.0"

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ let package = Package(
99
.library(name: "RxFlow", targets: ["RxFlow"]),
1010
],
1111
dependencies: [
12-
.package(url: "https://github.com/ReactiveX/RxSwift.git", .upToNextMajor(from: "5.1.1")),
12+
.package(url: "https://github.com/ReactiveX/RxSwift.git", .upToNextMajor(from: "6.0.0")),
1313
],
1414
targets: [
1515
.target(

RxFlow.podspec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "RxFlow"
3-
s.version = "2.11.0"
3+
s.version = "2.12.0"
44
s.swift_version = '5.3'
55
s.summary = "RxFlow is a navigation framework for iOS applications, based on a Reactive Coordinator pattern."
66

@@ -27,6 +27,6 @@ RxFlow aims to
2727
s.source_files = "RxFlow/**/*.swift"
2828
s.frameworks = "UIKit"
2929
s.requires_arc = true
30-
s.dependency "RxSwift", ">= 5.1.1"
31-
s.dependency "RxCocoa", ">= 5.1.1"
30+
s.dependency "RxSwift", ">= 6.0.0"
31+
s.dependency "RxCocoa", ">= 6.0.0"
3232
end

RxFlow.xcodeproj/project.pbxproj

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

99
/* Begin PBXBuildFile section */
@@ -32,11 +32,11 @@
3232
74855A492470552B00334B8F /* DeprecatedFlowCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74855A482470552B00334B8F /* DeprecatedFlowCoordinator.swift */; };
3333
749B02E822066518001BEBBB /* RxBlocking.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 749B02E722066518001BEBBB /* RxBlocking.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
3434
749B02EC22066538001BEBBB /* RxTest.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 749B02EA22066538001BEBBB /* RxTest.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
35-
749B02EF22066618001BEBBB /* RxCocoa.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 749B02ED22066618001BEBBB /* RxCocoa.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
35+
749B02EF22066618001BEBBB /* RxCocoa.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 749B02ED22066618001BEBBB /* RxCocoa.framework */; platformFilter = ios; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
3636
749B02F022066618001BEBBB /* RxSwift.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 749B02EE22066618001BEBBB /* RxSwift.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
3737
749B02F12206665A001BEBBB /* RxCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 749B02ED22066618001BEBBB /* RxCocoa.framework */; };
3838
749B02F22206665A001BEBBB /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 749B02EE22066618001BEBBB /* RxSwift.framework */; };
39-
749B02F322066675001BEBBB /* RxCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 749B02ED22066618001BEBBB /* RxCocoa.framework */; };
39+
749B02F322066675001BEBBB /* RxCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 749B02ED22066618001BEBBB /* RxCocoa.framework */; platformFilter = ios; };
4040
749B02F422066675001BEBBB /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 749B02EE22066618001BEBBB /* RxSwift.framework */; };
4141
749B02F82206852D001BEBBB /* Flow+PresentableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 749B02F72206852D001BEBBB /* Flow+PresentableTests.swift */; };
4242
749B02FC220688EC001BEBBB /* FlowCoordinatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 749B02FB220688EC001BEBBB /* FlowCoordinatorTests.swift */; };
@@ -417,7 +417,11 @@
417417
"$(PROJECT_DIR)/Carthage/Build/iOS",
418418
);
419419
INFOPLIST_FILE = RxFlowTests/Info.plist;
420-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
420+
LD_RUNPATH_SEARCH_PATHS = (
421+
"$(inherited)",
422+
"@executable_path/Frameworks",
423+
"@loader_path/Frameworks",
424+
);
421425
PRODUCT_BUNDLE_IDENTIFIER = io.warpfactor.RxFlowTests;
422426
PRODUCT_NAME = "$(TARGET_NAME)";
423427
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -437,7 +441,11 @@
437441
"$(PROJECT_DIR)/Carthage/Build/iOS",
438442
);
439443
INFOPLIST_FILE = RxFlowTests/Info.plist;
440-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
444+
LD_RUNPATH_SEARCH_PATHS = (
445+
"$(inherited)",
446+
"@executable_path/Frameworks",
447+
"@loader_path/Frameworks",
448+
);
441449
PRODUCT_BUNDLE_IDENTIFIER = io.warpfactor.RxFlowTests;
442450
PRODUCT_NAME = "$(TARGET_NAME)";
443451
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -484,6 +492,7 @@
484492
DEBUG_INFORMATION_FORMAT = dwarf;
485493
ENABLE_STRICT_OBJC_MSGSEND = YES;
486494
ENABLE_TESTABILITY = YES;
495+
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
487496
GCC_C_LANGUAGE_STANDARD = gnu11;
488497
GCC_DYNAMIC_NO_PIC = NO;
489498
GCC_NO_COMMON_BLOCKS = YES;
@@ -505,6 +514,7 @@
505514
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
506515
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
507516
SWIFT_VERSION = 4.2;
517+
VALIDATE_WORKSPACE = NO;
508518
VERSIONING_SYSTEM = "apple-generic";
509519
VERSION_INFO_PREFIX = "";
510520
};
@@ -548,6 +558,7 @@
548558
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
549559
ENABLE_NS_ASSERTIONS = NO;
550560
ENABLE_STRICT_OBJC_MSGSEND = YES;
561+
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
551562
GCC_C_LANGUAGE_STANDARD = gnu11;
552563
GCC_NO_COMMON_BLOCKS = YES;
553564
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -559,9 +570,11 @@
559570
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
560571
MTL_ENABLE_DEBUG_INFO = NO;
561572
SDKROOT = iphoneos;
562-
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
573+
SWIFT_COMPILATION_MODE = wholemodule;
574+
SWIFT_OPTIMIZATION_LEVEL = "-O";
563575
SWIFT_VERSION = 4.2;
564576
VALIDATE_PRODUCT = YES;
577+
VALIDATE_WORKSPACE = NO;
565578
VERSIONING_SYSTEM = "apple-generic";
566579
VERSION_INFO_PREFIX = "";
567580
};
@@ -586,7 +599,11 @@
586599
INFOPLIST_FILE = RxFlow/Info.plist;
587600
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
588601
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
589-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
602+
LD_RUNPATH_SEARCH_PATHS = (
603+
"$(inherited)",
604+
"@executable_path/Frameworks",
605+
"@loader_path/Frameworks",
606+
);
590607
MARKETING_VERSION = 2.11.0;
591608
PRODUCT_BUNDLE_IDENTIFIER = io.warpfactor.RxFlow;
592609
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
@@ -617,7 +634,11 @@
617634
INFOPLIST_FILE = RxFlow/Info.plist;
618635
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
619636
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
620-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
637+
LD_RUNPATH_SEARCH_PATHS = (
638+
"$(inherited)",
639+
"@executable_path/Frameworks",
640+
"@loader_path/Frameworks",
641+
);
621642
MARKETING_VERSION = 2.11.0;
622643
PRODUCT_BUNDLE_IDENTIFIER = io.warpfactor.RxFlow;
623644
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";

RxFlow/Extensions/Reactive+UIViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public extension Reactive where Base: UIViewController {
1717
/// Rx observable, triggered when the view is being dismissed
1818
var dismissed: ControlEvent<Bool> {
1919
let dismissedSource = self.sentMessage(#selector(Base.viewDidDisappear))
20-
.filter { [base] _ in base.isBeingDismissed }
20+
.filter { [weak base] _ in base?.isBeingDismissed ?? true }
2121
.map { _ in false }
2222

2323
let movedToParentSource = self.sentMessage(#selector(Base.didMove))

RxFlow/FlowCoordinator.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public final class FlowCoordinator: NSObject {
4646
// listen for the internal steps relay that aggregates the flow's Stepper's steps and
4747
// the FlowContributors's Stepper's steps
4848
self.stepsRelay
49-
.takeUntil(allowStepWhenDismissed ? .empty() : flow.rxDismissed.asObservable())
49+
.take(until: allowStepWhenDismissed ? .empty() : flow.rxDismissed.asObservable())
5050
.do(onDispose: { [weak self] in
5151
self?.childFlowCoordinators.removeAll()
5252
self?.parentFlowCoordinator?.childFlowCoordinators.removeValue(forKey: self?.identifier ?? "")
@@ -106,7 +106,7 @@ public final class FlowCoordinator: NSObject {
106106
.do(onSubscribed: { stepper.readyToEmitSteps() })
107107
.startWith(stepper.initialStep)
108108
.filter { !($0 is NoneStep) }
109-
.takeUntil(allowStepWhenDismissed ? .empty() : flow.rxDismissed.asObservable())
109+
.take(until: allowStepWhenDismissed ? .empty() : flow.rxDismissed.asObservable())
110110
// for now commenting this line to allow a Stepper trigger "dismissing" steps
111111
// even if a flow is displayed on top of it
112112
// .pausable(afterCount: 1, withPauser: flow.rxVisible)
@@ -177,7 +177,7 @@ public final class FlowCoordinator: NSObject {
177177
.do(onSubscribed: { nextPresentableAndStepper.stepper.readyToEmitSteps() })
178178
.startWith(nextPresentableAndStepper.stepper.initialStep)
179179
.filter { !($0 is NoneStep) }
180-
.takeUntil(allowStepWhenDismissed ? .empty() : nextPresentableAndStepper.presentable.rxDismissed.asObservable())
180+
.take(until: allowStepWhenDismissed ? .empty() : nextPresentableAndStepper.presentable.rxDismissed.asObservable())
181181

182182
// by default we cannot accept steps from a presentable that is not visible
183183
if nextPresentableAndStepper.allowStepWhenNotPresented == false {

0 commit comments

Comments
 (0)