Skip to content

Commit 05eb29a

Browse files
yamoridonDivineDominion
authored andcommitted
Update to run with Swift 4.2 & ReSwift-Thunk (#20)
* Modification to run with Swift 4.2 and the latest libraries. * Update libraries to the versionis those are compatible with Swift 4.2 and Xcode 10.1 * Modify the source code to compile with current libraries and Swift 4.2 * Update the project settings to the recommendation from Xcode 10.1. * update .travis.yml to use Xcode 10.1 * use ReSwiftThunk instead of depreacted APIs.
1 parent 35705ac commit 05eb29a

File tree

16 files changed

+207
-63
lines changed

16 files changed

+207
-63
lines changed

Diff for: .travis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ env:
99
- LANG=en_US.UTF-8
1010
- APP_NAME="SwiftFlowGitHubBrowser"
1111

12-
osx_image: xcode9
12+
osx_image: xcode10.1
1313

1414
matrix:
1515
include:
16-
- env: SDK="iphonesimulator" DESTINATION="OS=11.0,name=iPhone 8"
16+
- env: SDK="iphonesimulator" DESTINATION="OS=12.1,name=iPhone 8"
1717

1818
before_install:
1919
- carthage update --no-use-binaries --platform iOS

Diff for: Cartfile

+8-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
github "nerdishbynature/octokit.swift" ~> 0.7.0
2-
github "Quick/Quick"
3-
github "Quick/Nimble"
4-
github "soffes/SSKeychain"
1+
github "nerdishbynature/octokit.swift"
2+
github "nerdishbynature/RequestKit" "2.3.0"
3+
github "Quick/Quick" "master"
4+
github "Quick/Nimble" "master"
5+
github "soffes/SSKeychain" "master"
56
github "Ben-G/ListKit"
6-
github "ReSwift/ReSwift" ~> 4.0.0
7-
github "ReSwift/ReSwiftRouter" ~> 0.6.0
7+
github "ReSwift/ReSwift" "master"
8+
github "ReSwift/ReSwiftRouter" "master"
9+
github "ReSwift/ReSwift-Thunk" "1.1.0"

Diff for: Cartfile.resolved

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
github "Ben-G/ListKit" "2.0.0"
2-
github "Quick/Nimble" "v7.0.2"
3-
github "Quick/Quick" "v1.2.0"
4-
github "ReSwift/ReSwift" "4.0.0"
5-
github "ReSwift/ReSwiftRouter" "0.6.0"
6-
github "nerdishbynature/RequestKit" "2.0.2"
7-
github "nerdishbynature/octokit.swift" "0.7.4"
8-
github "soffes/SSKeychain" "v1.5.3"
2+
github "Quick/Nimble" "d7a8451738e22e76f0465d72b9f3c054df16a56b"
3+
github "Quick/Quick" "5ba1cef76f4dbd24a2ce5a804571667ebfef71a3"
4+
github "ReSwift/ReSwift" "5b7a5c6cd05fa2b7d3f68ef7765acb2ba696d83c"
5+
github "ReSwift/ReSwift-Thunk" "1.1.0"
6+
github "ReSwift/ReSwiftRouter" "17773950b0d1031e185fe6c15cda705fe2b5c204"
7+
github "nerdishbynature/RequestKit" "2.3.0"
8+
github "nerdishbynature/octokit.swift" "0.9.0"
9+
github "soffes/SSKeychain" "d3d64f8c5fa14bf2adb2d51a18ee8b6639232ca5"

Diff for: SwiftFlowGitHubBrowser.xcodeproj/project.pbxproj

+90-11
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@
4545
62EF0AB61C700D4900D13711 /* GitHubAuthSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62EF0AB51C700D4900D13711 /* GitHubAuthSpec.swift */; };
4646
62EF0ABA1C700D9D00D13711 /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62EF0AA81C700D1F00D13711 /* Nimble.framework */; };
4747
62EF0ABB1C700DA200D13711 /* Quick.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62EF0A8D1C700D1200D13711 /* Quick.framework */; };
48+
66C463FC22270A970006963A /* ReSwiftThunk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66C463F922270A7C0006963A /* ReSwiftThunk.framework */; };
49+
66C463FD22270A970006963A /* ReSwiftThunk.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 66C463F922270A7C0006963A /* ReSwiftThunk.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
4850
7A7A57191C91D78C00670D38 /* ListKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 62C935581C8CD6B400887A23 /* ListKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
4951
/* End PBXBuildFile section */
5052

@@ -490,6 +492,27 @@
490492
remoteGlobalIDString = 1F5DF15E1BDCA0CE00C3A531;
491493
remoteInfo = "Nimble-tvOSTests";
492494
};
495+
66C463F822270A7C0006963A /* PBXContainerItemProxy */ = {
496+
isa = PBXContainerItemProxy;
497+
containerPortal = 66C463F322270A7C0006963A /* ReSwift-Thunk.xcodeproj */;
498+
proxyType = 2;
499+
remoteGlobalIDString = 65A3D6D5218B89A60075CB92;
500+
remoteInfo = "ReSwift-Thunk";
501+
};
502+
66C463FA22270A7C0006963A /* PBXContainerItemProxy */ = {
503+
isa = PBXContainerItemProxy;
504+
containerPortal = 66C463F322270A7C0006963A /* ReSwift-Thunk.xcodeproj */;
505+
proxyType = 2;
506+
remoteGlobalIDString = 65A3D6DE218B89A60075CB92;
507+
remoteInfo = "ReSwift-Thunk-Tests";
508+
};
509+
66C463FE22270A970006963A /* PBXContainerItemProxy */ = {
510+
isa = PBXContainerItemProxy;
511+
containerPortal = 66C463F322270A7C0006963A /* ReSwift-Thunk.xcodeproj */;
512+
proxyType = 1;
513+
remoteGlobalIDString = 65A3D6D4218B89A60075CB92;
514+
remoteInfo = "ReSwift-Thunk";
515+
};
493516
7A7A571A1C91D78C00670D38 /* PBXContainerItemProxy */ = {
494517
isa = PBXContainerItemProxy;
495518
containerPortal = 62C9354C1C8CD6B300887A23 /* ListKit.xcodeproj */;
@@ -508,6 +531,7 @@
508531
files = (
509532
254B3B961D3ABBFF00B1E4F0 /* OctoKit.framework in Embed Frameworks */,
510533
254B3B9A1D3ABC0400B1E4F0 /* RequestKit.framework in Embed Frameworks */,
534+
66C463FD22270A970006963A /* ReSwiftThunk.framework in Embed Frameworks */,
511535
2565B89F1DE7506C0016371D /* ReSwift.framework in Embed Frameworks */,
512536
7A7A57191C91D78C00670D38 /* ListKit.framework in Embed Frameworks */,
513537
2565B86A1DE74F440016371D /* SAMKeychain.framework in Embed Frameworks */,
@@ -557,6 +581,7 @@
557581
62EF0A801C700D1200D13711 /* Quick.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Quick.xcodeproj; path = Carthage/Checkouts/Quick/Quick.xcodeproj; sourceTree = SOURCE_ROOT; };
558582
62EF0A9E1C700D1F00D13711 /* Nimble.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Nimble.xcodeproj; path = Carthage/Checkouts/Nimble/Nimble.xcodeproj; sourceTree = SOURCE_ROOT; };
559583
62EF0AB51C700D4900D13711 /* GitHubAuthSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GitHubAuthSpec.swift; sourceTree = "<group>"; };
584+
66C463F322270A7C0006963A /* ReSwift-Thunk.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "ReSwift-Thunk.xcodeproj"; path = "Carthage/Checkouts/ReSwift-Thunk/ReSwift-Thunk.xcodeproj"; sourceTree = SOURCE_ROOT; };
560585
/* End PBXFileReference section */
561586

562587
/* Begin PBXFrameworksBuildPhase section */
@@ -566,6 +591,7 @@
566591
files = (
567592
254B3B951D3ABBFF00B1E4F0 /* OctoKit.framework in Frameworks */,
568593
254B3B9D1D3ABC0A00B1E4F0 /* ReSwift.framework in Frameworks */,
594+
66C463FC22270A970006963A /* ReSwiftThunk.framework in Frameworks */,
569595
254B3B991D3ABC0400B1E4F0 /* RequestKit.framework in Frameworks */,
570596
62C935791C8CD6E500887A23 /* ListKit.framework in Frameworks */,
571597
254B3BA11D3ABC1300B1E4F0 /* ReSwiftRouter.framework in Frameworks */,
@@ -733,6 +759,7 @@
733759
25BB76321C3CBA99008EA13B /* Dependencies */ = {
734760
isa = PBXGroup;
735761
children = (
762+
66C463F322270A7C0006963A /* ReSwift-Thunk.xcodeproj */,
736763
253038E91D92D8B900AA49F4 /* SAMKeychain.xcodeproj */,
737764
254B3B7D1D3ABBCE00B1E4F0 /* OctoKit.xcodeproj */,
738765
254B3B651D3ABBC400B1E4F0 /* RequestKit.xcodeproj */,
@@ -878,6 +905,15 @@
878905
path = GithubAuthSpec;
879906
sourceTree = "<group>";
880907
};
908+
66C463F422270A7C0006963A /* Products */ = {
909+
isa = PBXGroup;
910+
children = (
911+
66C463F922270A7C0006963A /* ReSwiftThunk.framework */,
912+
66C463FB22270A7C0006963A /* ReSwift-Thunk-Tests.xctest */,
913+
);
914+
name = Products;
915+
sourceTree = "<group>";
916+
};
881917
/* End PBXGroup section */
882918

883919
/* Begin PBXNativeTarget section */
@@ -899,6 +935,7 @@
899935
254B3B9C1D3ABC0400B1E4F0 /* PBXTargetDependency */,
900936
254B3BA01D3ABC0A00B1E4F0 /* PBXTargetDependency */,
901937
254B3BA41D3ABC1300B1E4F0 /* PBXTargetDependency */,
938+
66C463FF22270A970006963A /* PBXTargetDependency */,
902939
);
903940
name = SwiftFlowGitHubBrowser;
904941
productName = SwiftFlowGitHubBrowser;
@@ -930,7 +967,7 @@
930967
isa = PBXProject;
931968
attributes = {
932969
LastSwiftUpdateCheck = 0720;
933-
LastUpgradeCheck = 0730;
970+
LastUpgradeCheck = 1010;
934971
ORGANIZATIONNAME = "Benji Encz";
935972
TargetAttributes = {
936973
25BB761C1C3CB8CB008EA13B = {
@@ -976,6 +1013,10 @@
9761013
ProductGroup = 254B3B661D3ABBC400B1E4F0 /* Products */;
9771014
ProjectRef = 254B3B651D3ABBC400B1E4F0 /* RequestKit.xcodeproj */;
9781015
},
1016+
{
1017+
ProductGroup = 66C463F422270A7C0006963A /* Products */;
1018+
ProjectRef = 66C463F322270A7C0006963A /* ReSwift-Thunk.xcodeproj */;
1019+
},
9791020
{
9801021
ProductGroup = 254B3B4E1D3ABBB400B1E4F0 /* Products */;
9811022
ProjectRef = 254B3B4D1D3ABBB400B1E4F0 /* ReSwift.xcodeproj */;
@@ -1404,6 +1445,20 @@
14041445
remoteRef = 62EF0AB11C700D1F00D13711 /* PBXContainerItemProxy */;
14051446
sourceTree = BUILT_PRODUCTS_DIR;
14061447
};
1448+
66C463F922270A7C0006963A /* ReSwiftThunk.framework */ = {
1449+
isa = PBXReferenceProxy;
1450+
fileType = wrapper.framework;
1451+
path = ReSwiftThunk.framework;
1452+
remoteRef = 66C463F822270A7C0006963A /* PBXContainerItemProxy */;
1453+
sourceTree = BUILT_PRODUCTS_DIR;
1454+
};
1455+
66C463FB22270A7C0006963A /* ReSwift-Thunk-Tests.xctest */ = {
1456+
isa = PBXReferenceProxy;
1457+
fileType = wrapper.cfbundle;
1458+
path = "ReSwift-Thunk-Tests.xctest";
1459+
remoteRef = 66C463FA22270A7C0006963A /* PBXContainerItemProxy */;
1460+
sourceTree = BUILT_PRODUCTS_DIR;
1461+
};
14071462
/* End PBXReferenceProxy section */
14081463

14091464
/* Begin PBXResourcesBuildPhase section */
@@ -1508,6 +1563,11 @@
15081563
target = 25BB761C1C3CB8CB008EA13B /* SwiftFlowGitHubBrowser */;
15091564
targetProxy = 62EF0A7A1C700C2300D13711 /* PBXContainerItemProxy */;
15101565
};
1566+
66C463FF22270A970006963A /* PBXTargetDependency */ = {
1567+
isa = PBXTargetDependency;
1568+
name = "ReSwift-Thunk";
1569+
targetProxy = 66C463FE22270A970006963A /* PBXContainerItemProxy */;
1570+
};
15111571
7A7A571B1C91D78C00670D38 /* PBXTargetDependency */ = {
15121572
isa = PBXTargetDependency;
15131573
name = ListKit;
@@ -1543,13 +1603,23 @@
15431603
CLANG_CXX_LIBRARY = "libc++";
15441604
CLANG_ENABLE_MODULES = YES;
15451605
CLANG_ENABLE_OBJC_ARC = YES;
1606+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
15461607
CLANG_WARN_BOOL_CONVERSION = YES;
1608+
CLANG_WARN_COMMA = YES;
15471609
CLANG_WARN_CONSTANT_CONVERSION = YES;
1610+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
15481611
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
15491612
CLANG_WARN_EMPTY_BODY = YES;
15501613
CLANG_WARN_ENUM_CONVERSION = YES;
1614+
CLANG_WARN_INFINITE_RECURSION = YES;
15511615
CLANG_WARN_INT_CONVERSION = YES;
1616+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1617+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1618+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
15521619
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1620+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1621+
CLANG_WARN_STRICT_PROTOTYPES = YES;
1622+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
15531623
CLANG_WARN_UNREACHABLE_CODE = YES;
15541624
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
15551625
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
@@ -1571,7 +1641,7 @@
15711641
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
15721642
GCC_WARN_UNUSED_FUNCTION = YES;
15731643
GCC_WARN_UNUSED_VARIABLE = YES;
1574-
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
1644+
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
15751645
MTL_ENABLE_DEBUG_INFO = YES;
15761646
ONLY_ACTIVE_ARCH = YES;
15771647
SDKROOT = iphoneos;
@@ -1588,13 +1658,23 @@
15881658
CLANG_CXX_LIBRARY = "libc++";
15891659
CLANG_ENABLE_MODULES = YES;
15901660
CLANG_ENABLE_OBJC_ARC = YES;
1661+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
15911662
CLANG_WARN_BOOL_CONVERSION = YES;
1663+
CLANG_WARN_COMMA = YES;
15921664
CLANG_WARN_CONSTANT_CONVERSION = YES;
1665+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
15931666
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
15941667
CLANG_WARN_EMPTY_BODY = YES;
15951668
CLANG_WARN_ENUM_CONVERSION = YES;
1669+
CLANG_WARN_INFINITE_RECURSION = YES;
15961670
CLANG_WARN_INT_CONVERSION = YES;
1671+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1672+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1673+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
15971674
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1675+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1676+
CLANG_WARN_STRICT_PROTOTYPES = YES;
1677+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
15981678
CLANG_WARN_UNREACHABLE_CODE = YES;
15991679
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
16001680
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
@@ -1610,9 +1690,10 @@
16101690
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
16111691
GCC_WARN_UNUSED_FUNCTION = YES;
16121692
GCC_WARN_UNUSED_VARIABLE = YES;
1613-
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
1693+
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
16141694
MTL_ENABLE_DEBUG_INFO = NO;
16151695
SDKROOT = iphoneos;
1696+
SWIFT_COMPILATION_MODE = wholemodule;
16161697
TARGETED_DEVICE_FAMILY = "1,2";
16171698
VALIDATE_PRODUCT = YES;
16181699
};
@@ -1621,36 +1702,34 @@
16211702
25BB76301C3CB8CB008EA13B /* Debug */ = {
16221703
isa = XCBuildConfiguration;
16231704
buildSettings = {
1705+
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
16241706
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
1625-
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
16261707
FRAMEWORK_SEARCH_PATHS = (
16271708
"$(inherited)/**",
16281709
"$(SRCROOT)/Carthage/Build/iOS/**",
16291710
);
16301711
INFOPLIST_FILE = SwiftFlowGitHubBrowser/Info.plist;
1631-
IPHONEOS_DEPLOYMENT_TARGET = 9.1;
16321712
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
16331713
PRODUCT_BUNDLE_IDENTIFIER = "Swift-Flow.SwiftFlowGitHubBrowser";
16341714
PRODUCT_NAME = "$(TARGET_NAME)";
1635-
SWIFT_VERSION = 3.0;
1715+
SWIFT_VERSION = 4.2;
16361716
};
16371717
name = Debug;
16381718
};
16391719
25BB76311C3CB8CB008EA13B /* Release */ = {
16401720
isa = XCBuildConfiguration;
16411721
buildSettings = {
1722+
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
16421723
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
1643-
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
16441724
FRAMEWORK_SEARCH_PATHS = (
16451725
"$(inherited)/**",
16461726
"$(SRCROOT)/Carthage/Build/iOS/**",
16471727
);
16481728
INFOPLIST_FILE = SwiftFlowGitHubBrowser/Info.plist;
1649-
IPHONEOS_DEPLOYMENT_TARGET = 9.1;
16501729
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
16511730
PRODUCT_BUNDLE_IDENTIFIER = "Swift-Flow.SwiftFlowGitHubBrowser";
16521731
PRODUCT_NAME = "$(TARGET_NAME)";
1653-
SWIFT_VERSION = 3.0;
1732+
SWIFT_VERSION = 4.2;
16541733
};
16551734
name = Release;
16561735
};
@@ -1668,7 +1747,7 @@
16681747
PRODUCT_BUNDLE_IDENTIFIER = "de.benjamin-encz.SwiftFlowGitHubBrowserTests";
16691748
PRODUCT_NAME = "$(TARGET_NAME)";
16701749
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1671-
SWIFT_VERSION = 3.0;
1750+
SWIFT_VERSION = 4.2;
16721751
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SwiftFlowGitHubBrowser.app/SwiftFlowGitHubBrowser";
16731752
};
16741753
name = Debug;
@@ -1686,7 +1765,7 @@
16861765
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
16871766
PRODUCT_BUNDLE_IDENTIFIER = "de.benjamin-encz.SwiftFlowGitHubBrowserTests";
16881767
PRODUCT_NAME = "$(TARGET_NAME)";
1689-
SWIFT_VERSION = 3.0;
1768+
SWIFT_VERSION = 4.2;
16901769
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SwiftFlowGitHubBrowser.app/SwiftFlowGitHubBrowser";
16911770
};
16921771
name = Release;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>BuildSystemType</key>
6+
<string>Original</string>
7+
</dict>
8+
</plist>

Diff for: SwiftFlowGitHubBrowser.xcodeproj/xcshareddata/xcschemes/SwiftFlowGitHubBrowser.xcscheme

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0730"
3+
LastUpgradeVersion = "1010"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,7 +26,6 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
language = ""
3029
shouldUseLaunchSchemeArgsEnv = "YES">
3130
<Testables>
3231
<TestableReference
@@ -56,7 +55,6 @@
5655
buildConfiguration = "Debug"
5756
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
5857
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
59-
language = ""
6058
launchStyle = "0"
6159
useCustomWorkingDirectory = "NO"
6260
ignoresPersistentStateOnLaunch = "NO"

Diff for: SwiftFlowGitHubBrowser/APIRequests/GitHubRepositories.swift

+5-6
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,14 @@
99
import Foundation
1010
import OctoKit
1111
import ReSwift
12+
import ReSwiftThunk
1213

13-
func fetchGitHubRepositories(state: State, store: Store<State>) -> Action? {
14-
guard case let .loggedIn(configuration) = state.authenticationState.loggedInState else { return nil }
14+
let fetchGitHubRepositories = Thunk<State> { dispatch, getState in
15+
guard case let .loggedIn(configuration)? = getState()?.authenticationState.loggedInState else { return }
1516

16-
Octokit(configuration).repositories { response in
17+
_ = Octokit(configuration).repositories { response in
1718
DispatchQueue.main.async {
18-
store.dispatch(SetRepositories(repositories: response))
19+
dispatch(SetRepositories(repositories: response))
1920
}
2021
}
21-
22-
return nil
2322
}

0 commit comments

Comments
 (0)