Skip to content

Commit 52c95bd

Browse files
Merge branch 'master' into update/get-as-option + fix merge conflicts
# Conflicts: # Sources/Apollo/ApolloClient.swift # Sources/Apollo/GraphQLQueryWatcher.swift
2 parents 56037ca + 86e7af2 commit 52c95bd

24 files changed

Lines changed: 451 additions & 139 deletions

Apollo.xcodeproj/project.pbxproj

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
9F578D901D8D2CB300C0EA36 /* Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F578D8F1D8D2CB300C0EA36 /* Utilities.swift */; };
2929
9F65B1211EC106F30090B25F /* Apollo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FC750441D2A532C00458D91 /* Apollo.framework */; };
3030
9F69FFA91D42855900E000B1 /* NetworkTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F69FFA81D42855900E000B1 /* NetworkTransport.swift */; };
31+
9F7BA89922927A3700999B3B /* ResponsePath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F7BA89822927A3700999B3B /* ResponsePath.swift */; };
3132
9F8622F81EC2004200C38162 /* ReadWriteFromStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F8622F71EC2004200C38162 /* ReadWriteFromStoreTests.swift */; };
3233
9F8622FA1EC2117C00C38162 /* FragmentConstructionAndConversionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F8622F91EC2117C00C38162 /* FragmentConstructionAndConversionTests.swift */; };
3334
9F86B68B1E6438D700B885FF /* GraphQLSelectionSetMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F86B68A1E6438D700B885FF /* GraphQLSelectionSetMapper.swift */; };
@@ -39,6 +40,7 @@
3940
9F8A958D1EC0FFAB00304A2D /* ApolloTestSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F8A95781EC0FC1200304A2D /* ApolloTestSupport.framework */; };
4041
9F8A95901EC0FFC100304A2D /* ApolloTestSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F8A95781EC0FC1200304A2D /* ApolloTestSupport.framework */; };
4142
9F8A95931EC0FFD100304A2D /* ApolloTestSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F8A95781EC0FC1200304A2D /* ApolloTestSupport.framework */; };
43+
9F8F334C229044A200C0E83B /* Decoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F8F334B229044A200C0E83B /* Decoding.swift */; };
4244
9F91CF8F1F6C0DB2008DD0BE /* MutatingResultsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F91CF8E1F6C0DB2008DD0BE /* MutatingResultsTests.swift */; };
4345
9FA6ABCC1EC0A9F7000017BE /* FetchQueryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FA6ABC51EC0A9F7000017BE /* FetchQueryTests.swift */; };
4446
9FA6ABCD1EC0A9F7000017BE /* LoadQueryFromStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FA6ABC61EC0A9F7000017BE /* LoadQueryFromStoreTests.swift */; };
@@ -262,6 +264,7 @@
262264
9F55347A1DE1DB2100E54264 /* ApolloStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ApolloStore.swift; sourceTree = "<group>"; };
263265
9F578D8F1D8D2CB300C0EA36 /* Utilities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Utilities.swift; sourceTree = "<group>"; };
264266
9F69FFA81D42855900E000B1 /* NetworkTransport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkTransport.swift; sourceTree = "<group>"; };
267+
9F7BA89822927A3700999B3B /* ResponsePath.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResponsePath.swift; sourceTree = "<group>"; };
265268
9F8622F71EC2004200C38162 /* ReadWriteFromStoreTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadWriteFromStoreTests.swift; sourceTree = "<group>"; };
266269
9F8622F91EC2117C00C38162 /* FragmentConstructionAndConversionTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FragmentConstructionAndConversionTests.swift; sourceTree = "<group>"; };
267270
9F8622FE1EC44A8600C38162 /* HeroNameAndAppearsIn.graphql */ = {isa = PBXFileReference; lastKnownFileType = text; path = HeroNameAndAppearsIn.graphql; sourceTree = "<group>"; };
@@ -273,6 +276,7 @@
273276
9F8A95811EC0FD3300304A2D /* XCTAssertHelpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTAssertHelpers.swift; sourceTree = "<group>"; };
274277
9F8A95831EC0FD6100304A2D /* XCTestCase+Promise.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "XCTestCase+Promise.swift"; sourceTree = "<group>"; };
275278
9F8A95851EC0FD9800304A2D /* TestCacheProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestCacheProvider.swift; sourceTree = "<group>"; };
279+
9F8F334B229044A200C0E83B /* Decoding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Decoding.swift; sourceTree = "<group>"; };
276280
9F91CF8E1F6C0DB2008DD0BE /* MutatingResultsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MutatingResultsTests.swift; sourceTree = "<group>"; };
277281
9FA6ABBC1EC0A988000017BE /* ApolloCacheDependentTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ApolloCacheDependentTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
278282
9FA6ABC01EC0A988000017BE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
@@ -452,13 +456,15 @@
452456
isa = PBXGroup;
453457
children = (
454458
9FF90A5C1DDDEB100034C3B6 /* GraphQLExecutor.swift */,
459+
9F8F334B229044A200C0E83B /* Decoding.swift */,
455460
9FA6F3671E65DF4700BF8D73 /* GraphQLResultAccumulator.swift */,
456461
9F86B68A1E6438D700B885FF /* GraphQLSelectionSetMapper.swift */,
457462
9F295E371E277B2A00A24949 /* GraphQLResultNormalizer.swift */,
458463
9FC2333C1E66BBF7001E4541 /* GraphQLDependencyTracker.swift */,
459464
9F86B68F1E65533D00B885FF /* GraphQLResponseGenerator.swift */,
460465
9FC9A9C41E2D6CE70023C4D5 /* GraphQLSelectionSet.swift */,
461466
9FC9A9C11E2D3CAF0023C4D5 /* GraphQLInputValue.swift */,
467+
9F7BA89822927A3700999B3B /* ResponsePath.swift */,
462468
);
463469
name = Execution;
464470
sourceTree = "<group>";
@@ -793,6 +799,7 @@
793799
buildPhases = (
794800
9FC6312F1E6AE2080062707E /* Sources */,
795801
9FC631301E6AE2080062707E /* Frameworks */,
802+
9FD67EBA2290208500FD8DD2 /* Resources */,
796803
);
797804
buildRules = (
798805
);
@@ -931,7 +938,6 @@
931938
};
932939
9FD637E01E6ACF88001EDBC8 = {
933940
CreatedOnToolsVersion = 8.2.1;
934-
ProvisioningStyle = Manual;
935941
};
936942
};
937943
};
@@ -980,6 +986,13 @@
980986
);
981987
runOnlyForDeploymentPostprocessing = 0;
982988
};
989+
9FD67EBA2290208500FD8DD2 /* Resources */ = {
990+
isa = PBXResourcesBuildPhase;
991+
buildActionMask = 2147483647;
992+
files = (
993+
);
994+
runOnlyForDeploymentPostprocessing = 0;
995+
};
983996
/* End PBXResourcesBuildPhase section */
984997

985998
/* Begin PBXShellScriptBuildPhase section */
@@ -1079,6 +1092,7 @@
10791092
files = (
10801093
9FF33D811E48B98200F608A4 /* HTTPNetworkTransport.swift in Sources */,
10811094
9FCE2CEE1E6BE2D900E34457 /* NormalizedCache.swift in Sources */,
1095+
9F8F334C229044A200C0E83B /* Decoding.swift in Sources */,
10821096
9FADC84A1E6B0B2300C677E6 /* Locking.swift in Sources */,
10831097
9F295E381E277B2A00A24949 /* GraphQLResultNormalizer.swift in Sources */,
10841098
9F86B68B1E6438D700B885FF /* GraphQLSelectionSetMapper.swift in Sources */,
@@ -1099,6 +1113,7 @@
10991113
9FC4B9201D2A6F8D0046A641 /* JSON.swift in Sources */,
11001114
9FEC15B41E681DAD00D461B4 /* Collections.swift in Sources */,
11011115
9F578D901D8D2CB300C0EA36 /* Utilities.swift in Sources */,
1116+
9F7BA89922927A3700999B3B /* ResponsePath.swift in Sources */,
11021117
9FC9A9BD1E2C271C0023C4D5 /* RecordSet.swift in Sources */,
11031118
9FEC15B91E6965E300D461B4 /* Result.swift in Sources */,
11041119
9FADC84F1E6B865E00C677E6 /* DataLoader.swift in Sources */,
Lines changed: 8 additions & 0 deletions
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>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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>classNames</key>
6+
<dict>
7+
<key>ParsingTests</key>
8+
<dict>
9+
<key>testLargeResponse()</key>
10+
<dict>
11+
<key>com.apple.XCTPerformanceMetric_WallClockTime</key>
12+
<dict>
13+
<key>baselineAverage</key>
14+
<real>0.88797</real>
15+
<key>baselineIntegrationDisplayName</key>
16+
<string>Local Baseline</string>
17+
</dict>
18+
</dict>
19+
</dict>
20+
</dict>
21+
</dict>
22+
</plist>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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>classNames</key>
6+
<dict>
7+
<key>ParsingTests</key>
8+
<dict>
9+
<key>testLargeResponse()</key>
10+
<dict>
11+
<key>com.apple.XCTPerformanceMetric_WallClockTime</key>
12+
<dict>
13+
<key>baselineAverage</key>
14+
<real>1.1037</real>
15+
<key>baselineIntegrationDisplayName</key>
16+
<string>Local Baseline</string>
17+
</dict>
18+
</dict>
19+
</dict>
20+
</dict>
21+
</dict>
22+
</plist>
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
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>runDestinationsByUUID</key>
6+
<dict>
7+
<key>09B0B19E-F5A6-42CF-AD3D-082A3B8B31B3</key>
8+
<dict>
9+
<key>targetArchitecture</key>
10+
<string>arm64e</string>
11+
<key>targetDevice</key>
12+
<dict>
13+
<key>modelCode</key>
14+
<string>iPhone11,2</string>
15+
<key>platformIdentifier</key>
16+
<string>com.apple.platform.iphoneos</string>
17+
</dict>
18+
</dict>
19+
<key>22F19570-674E-47F1-A426-4EFB879DC0E3</key>
20+
<dict>
21+
<key>localComputer</key>
22+
<dict>
23+
<key>busSpeedInMHz</key>
24+
<integer>100</integer>
25+
<key>cpuCount</key>
26+
<integer>1</integer>
27+
<key>cpuKind</key>
28+
<string>Intel Core i7</string>
29+
<key>cpuSpeedInMHz</key>
30+
<integer>2700</integer>
31+
<key>logicalCPUCoresPerPackage</key>
32+
<integer>8</integer>
33+
<key>modelCode</key>
34+
<string>MacBookPro13,3</string>
35+
<key>physicalCPUCoresPerPackage</key>
36+
<integer>4</integer>
37+
<key>platformIdentifier</key>
38+
<string>com.apple.platform.macosx</string>
39+
</dict>
40+
<key>targetArchitecture</key>
41+
<string>x86_64</string>
42+
<key>targetDevice</key>
43+
<dict>
44+
<key>modelCode</key>
45+
<string>iPhone11,2</string>
46+
<key>platformIdentifier</key>
47+
<string>com.apple.platform.iphonesimulator</string>
48+
</dict>
49+
</dict>
50+
</dict>
51+
</dict>
52+
</plist>

Apollo.xcodeproj/xcshareddata/xcschemes/ApolloPerformanceTests.xcscheme

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
</BuildAction>
99
<TestAction
1010
buildConfiguration = "PerformanceTesting"
11-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
12-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
11+
selectedDebuggerIdentifier = ""
12+
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
1313
shouldUseLaunchSchemeArgsEnv = "YES">
1414
<Testables>
1515
<TestableReference
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
#include "../Shared/Project-Release.xcconfig"
22

3+
COPY_PHASE_STRIP = NO
4+
ENABLE_BITCODE = NO
35
ENABLE_TESTABILITY = YES
46
TEST_HOST = $(BUILT_PRODUCTS_DIR)/TestHost iOS.app/TestHost iOS
7+
8+
CODE_SIGN_IDENTITY = iPhone Developer;
9+
CODE_SIGN_STYLE = Automatic;

Configuration/Shared/Workspace-Universal-Framework.xcconfig

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,13 @@ SDKROOT[sdk=macosx*] = macosx
2222
VALID_ARCHS[sdk=macosx*] = x86_64
2323

2424
// Enable Bitcode only for actual devices, not for macOS or simulators
25-
ENABLE_BITCODE[sdk=watchos*] = YES
26-
ENABLE_BITCODE[sdk=iphoneos*] = YES
27-
ENABLE_BITCODE[sdk=appletvos*] = YES
25+
ENABLE_BITCODE[sdk=watchos*][config=Release] = YES
26+
ENABLE_BITCODE[sdk=iphoneos*][config=Release] = YES
27+
ENABLE_BITCODE[sdk=appletvos*][config=Release] = YES
2828

2929
// By default, BITCODE_GENERATION_MODE is "marker".
3030
// Based on Realm's fix for Bitcode, this needs to be "bitcode"
3131
// Source: https://github.com/realm/realm-cocoa/pull/2567
32-
BITCODE_GENERATION_MODE[sdk=watchos*] = bitcode
33-
BITCODE_GENERATION_MODE[sdk=iphoneos*] = bitcode
34-
BITCODE_GENERATION_MODE[sdk=iphoneos*][config=Debug] = marker
35-
BITCODE_GENERATION_MODE[sdk=appletvos*] = bitcode
32+
BITCODE_GENERATION_MODE[sdk=watchos*][config=Release] = bitcode
33+
BITCODE_GENERATION_MODE[sdk=iphoneos*][config=Release] = bitcode
34+
BITCODE_GENERATION_MODE[sdk=appletvos*][config=Release] = bitcode

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ This combination of models with value semantics, one way data flow, and automati
2323

2424
[![Build status](https://travis-ci.org/apollographql/apollo-ios.svg?branch=master)](https://travis-ci.org/apollographql/apollo-ios)
2525

26-
This project is being developed using Xcode 9 and Swift 4.
26+
This project is being developed using Xcode 10 and Swift 5.0.
2727

2828
If you open `Apollo.xcodeproj`, you should be able to run the tests of the Apollo target.
2929

0 commit comments

Comments
 (0)