Skip to content

Commit 9dee894

Browse files
author
Conrad Kramer
committed
Replace the UIWebView resolver with one based on libxml2
1 parent f7f65de commit 9dee894

File tree

7 files changed

+303
-333
lines changed

7 files changed

+303
-333
lines changed

Bolts.podspec

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Pod::Spec.new do |s|
1818
s.requires_arc = true
1919

2020
s.source_files = 'Bolts'
21+
s.libraries = 'xml2'
22+
s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' }
2123

2224
s.public_header_files = 'Bolts/**/*.h'
2325
end

Bolts.xcodeproj/project.pbxproj

+30-8
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
1E45E47618DA7F0000D23509 /* BFAppLinkResolving.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1EC3019318CDD79F00D06D07 /* BFAppLinkResolving.h */; };
1818
1E45E47718DA7F0000D23509 /* BFAppLinkTarget.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1E11AB7C18C7C50800522739 /* BFAppLinkTarget.h */; };
1919
1E45E47818DA7F0000D23509 /* BFURL.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1E11AB7718C561E300522739 /* BFURL.h */; };
20-
1E45E47918DA7F0000D23509 /* BFWebViewAppLinkResolver.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1EC3019418CDD8A500D06D07 /* BFWebViewAppLinkResolver.h */; };
20+
1E45E47918DA7F0000D23509 /* BFXMLAppLinkResolver.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1EC3019418CDD8A500D06D07 /* BFXMLAppLinkResolver.h */; };
2121
1E9BF8DC18EA0CAD00514B1E /* test.html in Resources */ = {isa = PBXBuildFile; fileRef = 1E9BF8DB18EA0CAD00514B1E /* test.html */; };
2222
1EC3016118CDAA8400D06D07 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E9C3CEC17DE9DE000427E62 /* Foundation.framework */; };
2323
1EC3016318CDAA8400D06D07 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EC3016218CDAA8400D06D07 /* CoreGraphics.framework */; };
@@ -28,7 +28,7 @@
2828
1EC3017318CDAA8400D06D07 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1EC3017218CDAA8400D06D07 /* Images.xcassets */; };
2929
1EC3019118CDABCE00D06D07 /* AppLinkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EC3019018CDABCE00D06D07 /* AppLinkTests.m */; };
3030
1EC3019218CDB3CB00D06D07 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EC3016418CDAA8400D06D07 /* UIKit.framework */; };
31-
1EC3019618CDD8A500D06D07 /* BFWebViewAppLinkResolver.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EC3019518CDD8A500D06D07 /* BFWebViewAppLinkResolver.m */; };
31+
1EC3019618CDD8A500D06D07 /* BFXMLAppLinkResolver.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EC3019518CDD8A500D06D07 /* BFXMLAppLinkResolver.m */; };
3232
8550FD2218ECCF1600976B4B /* BFAppLinkReturnToRefererView.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85D5138618E4E27700D19D87 /* BFAppLinkReturnToRefererView.h */; };
3333
85D5138818E4E27700D19D87 /* BFAppLinkReturnToRefererView.m in Sources */ = {isa = PBXBuildFile; fileRef = 85D5138718E4E27700D19D87 /* BFAppLinkReturnToRefererView.m */; };
3434
85D5138A18E4E45800D19D87 /* AppLinkReturnToRefererViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 85D5138918E4E45800D19D87 /* AppLinkReturnToRefererViewTests.m */; };
@@ -63,6 +63,8 @@
6363
8EE768A81803E5DA009A53B1 /* BoltsVersion.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E0B5CDA17E13B4C0066379B /* BoltsVersion.h */; };
6464
8EE768A91803E5E0009A53B1 /* Bolts.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EE768A61803E32F009A53B1 /* Bolts.h */; };
6565
8EE768AA1803E5E5009A53B1 /* BoltsVersion.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E0B5CDA17E13B4C0066379B /* BoltsVersion.h */; };
66+
D029D2EB191220B900B62C70 /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D029D2E919121FC600B62C70 /* libxml2.dylib */; };
67+
D029D2EE191220C500B62C70 /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D029D2E919121FC600B62C70 /* libxml2.dylib */; };
6668
/* End PBXBuildFile section */
6769

6870
/* Begin PBXContainerItemProxy section */
@@ -103,7 +105,7 @@
103105
1E45E47618DA7F0000D23509 /* BFAppLinkResolving.h in CopyFiles */,
104106
1E45E47718DA7F0000D23509 /* BFAppLinkTarget.h in CopyFiles */,
105107
1E45E47818DA7F0000D23509 /* BFURL.h in CopyFiles */,
106-
1E45E47918DA7F0000D23509 /* BFWebViewAppLinkResolver.h in CopyFiles */,
108+
1E45E47918DA7F0000D23509 /* BFXMLAppLinkResolver.h in CopyFiles */,
107109
8E42701F1805E5A1000B84ED /* BFExecutor.h in CopyFiles */,
108110
8EE768A81803E5DA009A53B1 /* BoltsVersion.h in CopyFiles */,
109111
8EE768A71803E5D5009A53B1 /* Bolts.h in CopyFiles */,
@@ -168,8 +170,8 @@
168170
1EC3017218CDAA8400D06D07 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
169171
1EC3019018CDABCE00D06D07 /* AppLinkTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppLinkTests.m; sourceTree = "<group>"; };
170172
1EC3019318CDD79F00D06D07 /* BFAppLinkResolving.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BFAppLinkResolving.h; sourceTree = "<group>"; };
171-
1EC3019418CDD8A500D06D07 /* BFWebViewAppLinkResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BFWebViewAppLinkResolver.h; sourceTree = "<group>"; };
172-
1EC3019518CDD8A500D06D07 /* BFWebViewAppLinkResolver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BFWebViewAppLinkResolver.m; sourceTree = "<group>"; };
173+
1EC3019418CDD8A500D06D07 /* BFXMLAppLinkResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BFXMLAppLinkResolver.h; sourceTree = "<group>"; };
174+
1EC3019518CDD8A500D06D07 /* BFXMLAppLinkResolver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BFXMLAppLinkResolver.m; sourceTree = "<group>"; };
173175
8550FD2E18EE1B7A00976B4B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
174176
85D5138618E4E27700D19D87 /* BFAppLinkReturnToRefererView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BFAppLinkReturnToRefererView.h; sourceTree = "<group>"; };
175177
85D5138718E4E27700D19D87 /* BFAppLinkReturnToRefererView.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = BFAppLinkReturnToRefererView.m; sourceTree = "<group>"; tabWidth = 4; wrapsLines = 1; };
@@ -199,13 +201,15 @@
199201
8EB2CB411805DDDB00323385 /* BFExecutor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BFExecutor.m; sourceTree = "<group>"; };
200202
8EDDA63517E17DDD00655F8A /* libMacBolts.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMacBolts.a; sourceTree = BUILT_PRODUCTS_DIR; };
201203
8EE768A61803E32F009A53B1 /* Bolts.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Bolts.h; sourceTree = "<group>"; };
204+
D029D2E919121FC600B62C70 /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; };
202205
/* End PBXFileReference section */
203206

204207
/* Begin PBXFrameworksBuildPhase section */
205208
1EC3015D18CDAA8300D06D07 /* Frameworks */ = {
206209
isa = PBXFrameworksBuildPhase;
207210
buildActionMask = 2147483647;
208211
files = (
212+
D029D2EE191220C500B62C70 /* libxml2.dylib in Frameworks */,
209213
1EC3016318CDAA8400D06D07 /* CoreGraphics.framework in Frameworks */,
210214
1EC3016518CDAA8400D06D07 /* UIKit.framework in Frameworks */,
211215
1EC3016118CDAA8400D06D07 /* Foundation.framework in Frameworks */,
@@ -216,6 +220,7 @@
216220
isa = PBXFrameworksBuildPhase;
217221
buildActionMask = 2147483647;
218222
files = (
223+
D029D2EB191220B900B62C70 /* libxml2.dylib in Frameworks */,
219224
1EC3019218CDB3CB00D06D07 /* UIKit.framework in Frameworks */,
220225
8E8C8EFC17F23E6E00E3F1C7 /* libBolts.a in Frameworks */,
221226
8E8C8EEA17F23D1D00E3F1C7 /* XCTest.framework in Frameworks */,
@@ -325,6 +330,7 @@
325330
8E9C3CEB17DE9DE000427E62 /* Frameworks */ = {
326331
isa = PBXGroup;
327332
children = (
333+
D029D2E919121FC600B62C70 /* libxml2.dylib */,
328334
8E9C3CEC17DE9DE000427E62 /* Foundation.framework */,
329335
8E9C3CFB17DE9DE000427E62 /* SenTestingKit.framework */,
330336
8E8C8ED217F23C3B00E3F1C7 /* XCTest.framework */,
@@ -357,8 +363,8 @@
357363
8E9C3D2117DEA35700427E62 /* BFTaskCompletionSource.m */,
358364
1E11AB7718C561E300522739 /* BFURL.h */,
359365
1E11AB7818C561E300522739 /* BFURL.m */,
360-
1EC3019418CDD8A500D06D07 /* BFWebViewAppLinkResolver.h */,
361-
1EC3019518CDD8A500D06D07 /* BFWebViewAppLinkResolver.m */,
366+
1EC3019418CDD8A500D06D07 /* BFXMLAppLinkResolver.h */,
367+
1EC3019518CDD8A500D06D07 /* BFXMLAppLinkResolver.m */,
362368
8EE768A61803E32F009A53B1 /* Bolts.h */,
363369
8EA6BF661805CED500337041 /* Bolts.m */,
364370
8E0B5CDA17E13B4C0066379B /* BoltsVersion.h */,
@@ -576,7 +582,7 @@
576582
8EB2CB421805DDDB00323385 /* BFExecutor.m in Sources */,
577583
8E9C3D2417DEA35700427E62 /* BFTaskCompletionSource.m in Sources */,
578584
85EEE11B18FCAB370007510B /* BFAppLinkReturnToRefererController.m in Sources */,
579-
1EC3019618CDD8A500D06D07 /* BFWebViewAppLinkResolver.m in Sources */,
585+
1EC3019618CDD8A500D06D07 /* BFXMLAppLinkResolver.m in Sources */,
580586
1E11AB7918C561E300522739 /* BFAppLinkNavigation.m in Sources */,
581587
85D5138818E4E27700D19D87 /* BFAppLinkReturnToRefererView.m in Sources */,
582588
);
@@ -944,6 +950,10 @@
944950
DSTROOT = /tmp/Bolts.dst;
945951
GCC_PRECOMPILE_PREFIX_HEADER = YES;
946952
GCC_PREFIX_HEADER = "Bolts/Bolts-Prefix.pch";
953+
HEADER_SEARCH_PATHS = (
954+
"$(inherited)",
955+
"$(SDKROOT)/usr/include/libxml2",
956+
);
947957
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
948958
OTHER_LDFLAGS = "-ObjC";
949959
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -962,6 +972,10 @@
962972
DSTROOT = /tmp/Bolts.dst;
963973
GCC_PRECOMPILE_PREFIX_HEADER = YES;
964974
GCC_PREFIX_HEADER = "Bolts/Bolts-Prefix.pch";
975+
HEADER_SEARCH_PATHS = (
976+
"$(inherited)",
977+
"$(SDKROOT)/usr/include/libxml2",
978+
);
965979
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
966980
OTHER_LDFLAGS = "-ObjC";
967981
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -1035,6 +1049,10 @@
10351049
DSTROOT = /tmp/Bolts.dst;
10361050
GCC_PRECOMPILE_PREFIX_HEADER = YES;
10371051
GCC_PREFIX_HEADER = "Bolts/Bolts-Prefix.pch";
1052+
HEADER_SEARCH_PATHS = (
1053+
"$(inherited)",
1054+
"$(SDKROOT)/usr/include/libxml2",
1055+
);
10381056
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
10391057
OTHER_LDFLAGS = "-ObjC";
10401058
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -1152,6 +1170,10 @@
11521170
DSTROOT = /tmp/Bolts.dst;
11531171
GCC_PRECOMPILE_PREFIX_HEADER = YES;
11541172
GCC_PREFIX_HEADER = "Bolts/Bolts-Prefix.pch";
1173+
HEADER_SEARCH_PATHS = (
1174+
"$(inherited)",
1175+
"$(SDKROOT)/usr/include/libxml2",
1176+
);
11551177
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
11561178
OTHER_LDFLAGS = "-ObjC";
11571179
PRODUCT_NAME = "$(TARGET_NAME)";

Bolts/BFAppLinkNavigation.m

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#import "BFTaskCompletionSource.h"
1515
#import "BFAppLinkTarget.h"
1616
#import "BoltsVersion.h"
17-
#import "BFWebViewAppLinkResolver.h"
17+
#import "BFXMLAppLinkResolver.h"
1818
#import "BFExecutor.h"
1919
#import "BFTask.h"
2020

@@ -176,7 +176,7 @@ + (BFAppLinkNavigationType)navigateToAppLink:(BFAppLink *)link error:(NSError **
176176
if (defaultResolver) {
177177
return defaultResolver;
178178
}
179-
return [BFWebViewAppLinkResolver sharedInstance];
179+
return [BFXMLAppLinkResolver sharedInstance];
180180
}
181181

182182
+ (void)setDefaultResolver:(id<BFAppLinkResolving>)resolver {

0 commit comments

Comments
 (0)