Skip to content

Commit df600c6

Browse files
committed
Raised minimum Swift version to 5.9
1 parent 008ea8a commit df600c6

File tree

3 files changed

+8
-39
lines changed

3 files changed

+8
-39
lines changed

CHANGELOG.md

Lines changed: 0 additions & 28 deletions
This file was deleted.

Package.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
// swift-tools-version:5.0
1+
// swift-tools-version:5.9
22

33
import PackageDescription
44

55
let package = Package(
66
name: "InterposeKit",
77
platforms: [
8-
.iOS(.v11),
8+
.iOS(.v12),
99
.macOS(.v10_13),
10-
.tvOS(.v11),
10+
.tvOS(.v12),
1111
.watchOS(.v5)
1212
],
1313
products: [

README.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
<img src="https://raw.githubusercontent.com/steipete/InterposeKit/master/logo.png" width="60%" alt="InterposeKit"/>
22

3-
[![SwiftPM](https://github.com/steipete/InterposeKit/workflows/SwiftPM/badge.svg)](https://github.com/steipete/InterposeKit/actions?query=workflow%3ASwiftPM)
4-
[![xcodebuild](https://github.com/steipete/InterposeKit/workflows/xcodebuild/badge.svg)](https://github.com/steipete/InterposeKit/actions?query=workflow%3Axcodebuild)
5-
![Xcode 11.4+](https://img.shields.io/badge/Xcode-11.4%2B-blue.svg)
6-
![Swift 5.2+](https://img.shields.io/badge/Swift-5.2%2B-orange.svg)
7-
<!--
8-
[![codecov](https://codecov.io/gh/steipete/InterposeKit/branch/master/graph/badge.svg)](https://codecov.io/gh/steipete/InterposeKit) -->
3+
[![CI](https://github.com/structuredpath/InterposeKit/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/structuredpath/InterposeKit/actions/workflows/ci.yml)
4+
![Xcode 15+](https://img.shields.io/badge/Xcode-15%2B-blue.svg)
5+
![Swift 5.9+](https://img.shields.io/badge/Swift-5.9%2B-orange.svg)
96

10-
InterposeKit is a modern library to swizzle elegantly in Swift, supporting hooks on classes and individual objects. It is [well-documented](http://interposekit.com/), [tested](https://github.com/steipete/InterposeKit/actions?query=workflow%3ASwiftPM), written in "pure" Swift 5.2 and works on `@objc dynamic` Swift functions or Objective-C instance methods. The Inspiration for InterposeKit was [a race condition in Mac Catalyst](https://steipete.com/posts/mac-catalyst-crash-hunt/), which required tricky swizzling to fix, I also wrote up [implementation thoughts on my blog](https://steipete.com/posts/interposekit/).
7+
InterposeKit is a modern library to swizzle elegantly in Swift, supporting hooks on classes and individual objects. It is [well-documented](http://interposekit.com/), [tested](https://github.com/steipete/InterposeKit/actions?query=workflow%3ASwiftPM), written in "pure" Swift and works on `@objc dynamic` Swift functions or Objective-C instance methods. The Inspiration for InterposeKit was [a race condition in Mac Catalyst](https://steipete.com/posts/mac-catalyst-crash-hunt/), which required tricky swizzling to fix, I also wrote up [implementation thoughts on my blog](https://steipete.com/posts/interposekit/).
118

129
Instead of [adding new methods and exchanging implementations](https://nshipster.com/method-swizzling/) based on [`method_exchangeImplementations`](https://developer.apple.com/documentation/objectivec/1418769-method_exchangeimplementations), this library replaces the implementation directly using [`class_replaceMethod`](https://developer.apple.com/documentation/objectivec/1418677-class_replacemethod). This avoids some of [the usual problems with swizzling](https://pspdfkit.com/blog/2019/swizzling-in-swift/).
1310

@@ -150,7 +147,7 @@ Pull Requests welcome! You might wanna open a draft before to lay out what you p
150147

151148
## Installation
152149

153-
Building InterposeKit requires Xcode 11.4+ or a Swift 5.2+ toolchain with the Swift Package Manager.
150+
Building InterposeKit requires Xcode 15+ or a Swift 5.9+ toolchain with the Swift Package Manager.
154151

155152
### Swift Package Manager
156153

0 commit comments

Comments
 (0)