Skip to content
This repository was archived by the owner on Jul 12, 2019. It is now read-only.

Commit 7ac1acd

Browse files
authored
Xcode9 / swift 4 update (#28)
* xcode9 warnings/settings * update travis * convert to swift 4 * update podspec * fix re-entrant _webview lazy var. close #12 * fix webview top inset on iOS 11 * update readme * deprecate lib
1 parent e57f8ce commit 7ac1acd

File tree

11 files changed

+82
-49
lines changed

11 files changed

+82
-49
lines changed

.swift-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.0
1+
4.0

.travis.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
language: objective-c
2-
osx_image: xcode8.3
2+
osx_image: xcode9
33

44
env:
55
global:
@@ -8,7 +8,7 @@ env:
88
- PROJECT="JSQWebViewController.xcodeproj"
99
- IOS_SCHEME="JSQWebViewController"
1010

11-
- IOS_SDK=iphonesimulator10.3
11+
- IOS_SDK=iphonesimulator11.0
1212

1313
- EXAMPLE="Example/Example.xcodeproj"
1414

@@ -21,13 +21,15 @@ env:
2121
- DESTINATION="OS=9.0,name=iPhone 6 Plus" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" RUN_UI_TESTS="YES"
2222
- DESTINATION="OS=9.1,name=iPhone 6s" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" RUN_UI_TESTS="NO"
2323
- DESTINATION="OS=9.2,name=iPhone 6s Plus" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" RUN_UI_TESTS="NO"
24-
- DESTINATION="OS=9.3,name=iPad Pro" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" RUN_UI_TESTS="NO"
24+
- DESTINATION="OS=9.3,name=iPad Air 2" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" RUN_UI_TESTS="NO"
2525

26-
- DESTINATION="OS=10.0,name=iPhone 6s" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" RUN_UI_TESTS="NO"
27-
- DESTINATION="OS=10.1,name=iPhone 6s" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" RUN_UI_TESTS="NO"
28-
- DESTINATION="OS=10.2,name=iPad Air" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" RUN_UI_TESTS="NO"
29-
- DESTINATION="OS=10.3,name=iPhone 7" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" RUN_UI_TESTS="NO"
26+
- DESTINATION="OS=10.0,name=iPhone 6s" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" RUN_UI_TESTS="NO"
27+
- DESTINATION="OS=10.1,name=iPhone 6s" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" RUN_UI_TESTS="NO"
28+
- DESTINATION="OS=10.2,name=iPad Air" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" RUN_UI_TESTS="NO"
29+
- DESTINATION="OS=10.3.1,name=iPhone 7" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" RUN_UI_TESTS="NO"
3030

31+
- DESTINATION="OS=11.0,name=iPhone X" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" RUN_UI_TESTS="NO"
32+
3133
script:
3234
- set -o pipefail
3335

Example/Example.xcodeproj/project.pbxproj

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -191,17 +191,17 @@
191191
88AEBB561BADF8C500923E82 /* Project object */ = {
192192
isa = PBXProject;
193193
attributes = {
194-
LastUpgradeCheck = 0800;
194+
LastUpgradeCheck = 0900;
195195
ORGANIZATIONNAME = "Hexed Bits";
196196
TargetAttributes = {
197197
886487F01BCADBED00671052 = {
198198
CreatedOnToolsVersion = 7.0.1;
199-
LastSwiftMigration = 0800;
199+
LastSwiftMigration = 0900;
200200
TestTargetID = 88AEBB5D1BADF8C500923E82;
201201
};
202202
88AEBB5D1BADF8C500923E82 = {
203203
CreatedOnToolsVersion = 7.0;
204-
LastSwiftMigration = 0800;
204+
LastSwiftMigration = 0900;
205205
};
206206
};
207207
};
@@ -328,7 +328,7 @@
328328
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
329329
PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleUITests;
330330
PRODUCT_NAME = "$(TARGET_NAME)";
331-
SWIFT_VERSION = 3.0;
331+
SWIFT_VERSION = 4.0;
332332
TEST_TARGET_NAME = Example;
333333
USES_XCTRUNNER = YES;
334334
};
@@ -342,7 +342,7 @@
342342
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
343343
PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleUITests;
344344
PRODUCT_NAME = "$(TARGET_NAME)";
345-
SWIFT_VERSION = 3.0;
345+
SWIFT_VERSION = 4.0;
346346
TEST_TARGET_NAME = Example;
347347
USES_XCTRUNNER = YES;
348348
};
@@ -356,14 +356,20 @@
356356
CLANG_CXX_LIBRARY = "libc++";
357357
CLANG_ENABLE_MODULES = YES;
358358
CLANG_ENABLE_OBJC_ARC = YES;
359+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
359360
CLANG_WARN_BOOL_CONVERSION = YES;
361+
CLANG_WARN_COMMA = YES;
360362
CLANG_WARN_CONSTANT_CONVERSION = YES;
361363
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
362364
CLANG_WARN_EMPTY_BODY = YES;
363365
CLANG_WARN_ENUM_CONVERSION = YES;
364366
CLANG_WARN_INFINITE_RECURSION = YES;
365367
CLANG_WARN_INT_CONVERSION = YES;
368+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
369+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
366370
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
371+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
372+
CLANG_WARN_STRICT_PROTOTYPES = YES;
367373
CLANG_WARN_SUSPICIOUS_MOVE = YES;
368374
CLANG_WARN_UNREACHABLE_CODE = YES;
369375
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -391,7 +397,7 @@
391397
ONLY_ACTIVE_ARCH = YES;
392398
SDKROOT = iphoneos;
393399
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
394-
SWIFT_VERSION = 3.0;
400+
SWIFT_VERSION = 4.0;
395401
TARGETED_DEVICE_FAMILY = "1,2";
396402
};
397403
name = Debug;
@@ -404,14 +410,20 @@
404410
CLANG_CXX_LIBRARY = "libc++";
405411
CLANG_ENABLE_MODULES = YES;
406412
CLANG_ENABLE_OBJC_ARC = YES;
413+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
407414
CLANG_WARN_BOOL_CONVERSION = YES;
415+
CLANG_WARN_COMMA = YES;
408416
CLANG_WARN_CONSTANT_CONVERSION = YES;
409417
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
410418
CLANG_WARN_EMPTY_BODY = YES;
411419
CLANG_WARN_ENUM_CONVERSION = YES;
412420
CLANG_WARN_INFINITE_RECURSION = YES;
413421
CLANG_WARN_INT_CONVERSION = YES;
422+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
423+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
414424
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
425+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
426+
CLANG_WARN_STRICT_PROTOTYPES = YES;
415427
CLANG_WARN_SUSPICIOUS_MOVE = YES;
416428
CLANG_WARN_UNREACHABLE_CODE = YES;
417429
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -432,7 +444,7 @@
432444
MTL_ENABLE_DEBUG_INFO = NO;
433445
SDKROOT = iphoneos;
434446
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
435-
SWIFT_VERSION = 3.0;
447+
SWIFT_VERSION = 4.0;
436448
TARGETED_DEVICE_FAMILY = "1,2";
437449
VALIDATE_PRODUCT = YES;
438450
};
@@ -448,7 +460,8 @@
448460
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
449461
PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.Example;
450462
PRODUCT_NAME = "$(TARGET_NAME)";
451-
SWIFT_VERSION = 3.0;
463+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
464+
SWIFT_VERSION = 4.0;
452465
};
453466
name = Debug;
454467
};
@@ -462,7 +475,8 @@
462475
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
463476
PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.Example;
464477
PRODUCT_NAME = "$(TARGET_NAME)";
465-
SWIFT_VERSION = 3.0;
478+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
479+
SWIFT_VERSION = 4.0;
466480
};
467481
name = Release;
468482
};

Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0800"
3+
LastUpgradeVersion = "0900"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

Example/Example/ViewController.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ final class ViewController: UITableViewController {
2626
override func viewDidLoad() {
2727
super.viewDidLoad()
2828
self.navigationController?.navigationBar.isTranslucent = true
29+
if #available(iOS 11.0, *) {
30+
self.navigationItem.largeTitleDisplayMode = .automatic
31+
}
2932
}
3033

3134
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

JSQWebViewController.podspec

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
Pod::Spec.new do |s|
22
s.name = 'JSQWebViewController'
3-
s.version = '5.0.0'
3+
s.version = '6.0.0'
44
s.license = 'MIT'
55

66
s.summary = 'A lightweight Swift WebKit view controller for iOS'
77
s.homepage = 'https://github.com/jessesquires/JSQWebViewController'
8-
s.documentation_url = 'http://jessesquires.com/JSQWebViewController'
8+
s.documentation_url = 'https://jessesquires.github.io/JSQWebViewController'
99

1010
s.social_media_url = 'https://twitter.com/jesse_squires'
1111
s.authors = 'Jesse Squires'
@@ -17,4 +17,5 @@ Pod::Spec.new do |s|
1717

1818
s.frameworks = 'WebKit'
1919
s.requires_arc = true
20+
s.deprecated = true
2021
end

JSQWebViewController.xcodeproj/project.pbxproj

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -146,15 +146,16 @@
146146
isa = PBXProject;
147147
attributes = {
148148
LastSwiftUpdateCheck = 0700;
149-
LastUpgradeCheck = 0800;
149+
LastUpgradeCheck = 0900;
150150
ORGANIZATIONNAME = "Hexed Bits";
151151
TargetAttributes = {
152152
88AEBB071BADF48300923E82 = {
153153
CreatedOnToolsVersion = 7.0;
154-
LastSwiftMigration = 0800;
154+
LastSwiftMigration = 0900;
155155
};
156156
88AEBB111BADF48300923E82 = {
157157
CreatedOnToolsVersion = 7.0;
158+
LastSwiftMigration = 0900;
158159
ProvisioningStyle = Manual;
159160
};
160161
};
@@ -230,14 +231,20 @@
230231
CLANG_CXX_LIBRARY = "libc++";
231232
CLANG_ENABLE_MODULES = YES;
232233
CLANG_ENABLE_OBJC_ARC = YES;
234+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
233235
CLANG_WARN_BOOL_CONVERSION = YES;
236+
CLANG_WARN_COMMA = YES;
234237
CLANG_WARN_CONSTANT_CONVERSION = YES;
235238
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
236239
CLANG_WARN_EMPTY_BODY = YES;
237240
CLANG_WARN_ENUM_CONVERSION = YES;
238241
CLANG_WARN_INFINITE_RECURSION = YES;
239242
CLANG_WARN_INT_CONVERSION = YES;
243+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
244+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
240245
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
246+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
247+
CLANG_WARN_STRICT_PROTOTYPES = YES;
241248
CLANG_WARN_SUSPICIOUS_MOVE = YES;
242249
CLANG_WARN_UNREACHABLE_CODE = YES;
243250
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -266,7 +273,7 @@
266273
ONLY_ACTIVE_ARCH = YES;
267274
SDKROOT = iphoneos;
268275
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
269-
SWIFT_VERSION = 3.0;
276+
SWIFT_VERSION = 4.0;
270277
TARGETED_DEVICE_FAMILY = "1,2";
271278
VERSIONING_SYSTEM = "apple-generic";
272279
VERSION_INFO_PREFIX = "";
@@ -281,14 +288,20 @@
281288
CLANG_CXX_LIBRARY = "libc++";
282289
CLANG_ENABLE_MODULES = YES;
283290
CLANG_ENABLE_OBJC_ARC = YES;
291+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
284292
CLANG_WARN_BOOL_CONVERSION = YES;
293+
CLANG_WARN_COMMA = YES;
285294
CLANG_WARN_CONSTANT_CONVERSION = YES;
286295
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
287296
CLANG_WARN_EMPTY_BODY = YES;
288297
CLANG_WARN_ENUM_CONVERSION = YES;
289298
CLANG_WARN_INFINITE_RECURSION = YES;
290299
CLANG_WARN_INT_CONVERSION = YES;
300+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
301+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
291302
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
303+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
304+
CLANG_WARN_STRICT_PROTOTYPES = YES;
292305
CLANG_WARN_SUSPICIOUS_MOVE = YES;
293306
CLANG_WARN_UNREACHABLE_CODE = YES;
294307
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -310,7 +323,7 @@
310323
MTL_ENABLE_DEBUG_INFO = NO;
311324
SDKROOT = iphoneos;
312325
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
313-
SWIFT_VERSION = 3.0;
326+
SWIFT_VERSION = 4.0;
314327
TARGETED_DEVICE_FAMILY = "1,2";
315328
VALIDATE_PRODUCT = YES;
316329
VERSIONING_SYSTEM = "apple-generic";
@@ -335,7 +348,7 @@
335348
PRODUCT_NAME = "$(TARGET_NAME)";
336349
SKIP_INSTALL = YES;
337350
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
338-
SWIFT_VERSION = 3.0;
351+
SWIFT_VERSION = 4.0;
339352
};
340353
name = Debug;
341354
};
@@ -355,7 +368,7 @@
355368
PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.JSQWebViewController;
356369
PRODUCT_NAME = "$(TARGET_NAME)";
357370
SKIP_INSTALL = YES;
358-
SWIFT_VERSION = 3.0;
371+
SWIFT_VERSION = 4.0;
359372
};
360373
name = Release;
361374
};
@@ -367,7 +380,7 @@
367380
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
368381
PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.JSQWebViewControllerTests;
369382
PRODUCT_NAME = "$(TARGET_NAME)";
370-
SWIFT_VERSION = 3.0;
383+
SWIFT_VERSION = 4.0;
371384
};
372385
name = Debug;
373386
};
@@ -379,7 +392,7 @@
379392
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
380393
PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.JSQWebViewControllerTests;
381394
PRODUCT_NAME = "$(TARGET_NAME)";
382-
SWIFT_VERSION = 3.0;
395+
SWIFT_VERSION = 4.0;
383396
};
384397
name = Release;
385398
};

JSQWebViewController.xcodeproj/xcshareddata/xcschemes/JSQWebViewController.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0800"
3+
LastUpgradeVersion = "0900"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
[![No Maintenance Intended](http://unmaintained.tech/badge.svg)](http://unmaintained.tech/)
2+
3+
> **NOTE:** As of iOS 9, this library is no longer necessary.
4+
>
5+
> You should use [`SFSafariViewController`](https://developer.apple.com/library/prerelease/ios/documentation/SafariServices/Reference/SFSafariViewController_Ref/index.html) instead.
6+
7+
# :warning: Deprecated :warning:
8+
19
# JSQWebViewController
210

311
[![Build Status](https://secure.travis-ci.org/jessesquires/JSQWebViewController.svg)](http://travis-ci.org/jessesquires/JSQWebViewController) [![Version Status](https://img.shields.io/cocoapods/v/JSQWebViewController.svg)][podLink] [![license MIT](https://img.shields.io/cocoapods/l/JSQWebViewController.svg)][mitLink] [![codecov](https://codecov.io/gh/jessesquires/JSQWebViewController/branch/develop/graph/badge.svg)](https://codecov.io/gh/jessesquires/JSQWebViewController) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Platform](https://img.shields.io/cocoapods/p/JSQWebViewController.svg)][docsLink]
@@ -8,10 +16,6 @@
816
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
917
![screenshot](https://raw.githubusercontent.com/jessesquires/JSQWebViewController/develop/Screenshots/screenshot_1.png)
1018

11-
> **NOTE:** As of iOS 9, this library is no longer necessary.
12-
>
13-
> You should probably use [`SFSafariViewController`](https://developer.apple.com/library/prerelease/ios/documentation/SafariServices/Reference/SFSafariViewController_Ref/index.html) instead.
14-
1519
## Requirements
1620

1721
* Swift 3.0

Source/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<key>CFBundlePackageType</key>
1616
<string>FMWK</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>5.0.0</string>
18+
<string>6.0.0</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>

0 commit comments

Comments
 (0)