AliSoftware / OHHTTPStubs

Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers!
MIT License
5.03k stars 601 forks source link

Updating for swift 4.x and Xcode 10.1 #295

Closed jeffctown closed 5 years ago

jeffctown commented 5 years ago

Updating for version 7.0.0. Updating to swift 4.2 (but retaining compatibility with swift 2.3 & 3x & 4.x. Updating deployment target to iOS 8.0 since Xcode 10.1 doesn’t support iOS 7 anymore. Updating example projects. Updating README badges. Updating CHANEGLOG. Updating Rakefile for Xcode 10.1.

Checklist

Description

Updated for Swift 4.x and Xcode 10.1.

Motivation and Context

This change resolves compilation issues for projects using Swift 4.x and Xcode 10.1. The current version of Xcode (10.1) also does not support iOS 7, so I removed support for that.

I tested this change by compiling the two examples projects and running them to make sure they function as before. I also ran all 3 sets of unit tests.

jeffctown commented 5 years ago

I have a carthage archive of this branch if the CI passes and the PR is approved.

jeffctown commented 5 years ago

@AliSoftware let me know if you have any issues with this or if there's anything I can do to get travis running.

AliSoftware commented 5 years ago

Note that for some time now, Travis-CI hasn't been very reliable on OHHTTPStubs especially due to some timing tests randomly failing (depending on the CI CPU speed I think), but also sometimes travis failing to kick in and trigger the VM and tests… (I'm willing to migrate to CircleCI for a while but didn't yet). It's always fun to have to regularly restart the CI jobs when that happens, so don't be too surprised by that CI state, it might not be related to your PR specifically…

jeffctown commented 5 years ago

This totally makes sense @AliSoftware . Let me know if I can help with any of this.

FYI - I read the Xcode 10.2 beta release notes today, and Swift 3 won't be supported.

Swift 3 mode has been removed. Supported values for the -swift-version flag are 4, 4.2, and 5. (43101816)

from: https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_beta_release_notes/swift_5_release_notes_for_xcode_10_2_beta

sunshinejr commented 5 years ago

Hey @AliSoftware @jeffctown, what's left here to get this one merged in?

jeffctown commented 5 years ago

👋 @sunshinejr . I'm happy to help out, but I'm waiting on next steps from @AliSoftware.

Since the existing code compiles fine in Swift 4.2, once I updated my test target to Swift 4.2 and ran pod install this dependency is compiling and working fine in Swift 4.2. I'm not sure if this would work with your app / setup, but it unblocked my Swift 4.2 migration.

marcussc commented 5 years ago

@AliSoftware Maybe I can help on this one too? Xcode 10.2 is coming closer very fast would be a shame to have to stick to 10.1 because of our beloved OHHTTPStubs :)

AliSoftware commented 5 years ago

I have to be honest I just started a new job, in a new country… so pretty swamped those days in it's not gonna get better until a few weeks I think.

I happy to hand over and give push access to anyone willing to help, so if you're interested in becoming a co-maintainer and help with merging PRs and doing releases I'll be happy to make it happen so that someone can make those move forward while I'm busy 😅

jeffctown commented 5 years ago

Note that for some time now, Travis-CI hasn't been very reliable on OHHTTPStubs especially due to some timing tests randomly failing (depending on the CI CPU speed I think), but also sometimes travis failing to kick in and trigger the VM and tests… (I'm willing to migrate to CircleCI for a while but didn't yet). It's always fun to have to regularly restart the CI jobs when that happens, so don't be too surprised by that CI state, it might not be related to your PR specifically…

@AliSoftware

I have to be honest I just started a new job, in a new country… so pretty swamped those days in it's not gonna get better until a few weeks I think. ...

@AliSoftware totally understandable. I’d be happy to help merge and release.

Sent with GitHawk

AliSoftware commented 5 years ago

@jeffctown Just added you as contributor with push access ;) I trust you'll review other pending PRs too (checking if some need to be merged first before this one? then rebase this one, etc) so everything is ready for release 👍