Skip to content

Commit

Permalink
Keypaths (#497)
Browse files Browse the repository at this point in the history
* Reusing KeyPaths (INJECTION_KEYPATHS)
  • Loading branch information
johnno1962 committed Apr 1, 2024
1 parent 49523e0 commit ef699da
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 10 deletions.
10 changes: 7 additions & 3 deletions InjectionIII.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
BB1BA90B251DC54100044608 /* SwiftUISupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB1BA90A251DC54100044608 /* SwiftUISupport.swift */; };
BB1C3246254BFAFD001EDFCC /* EasyPointer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB1C3245254BFAFC001EDFCC /* EasyPointer.swift */; };
BB1EBC4D258DE2A0001F2AA4 /* fishhook.c in Sources */ = {isa = PBXBuildFile; fileRef = BB1EBC4C258DE29D001F2AA4 /* fishhook.c */; };
BB1EBC4F258DE2AD001F2AA4 /* fishhook.h in Headers */ = {isa = PBXBuildFile; fileRef = BB1EBC4E258DE2AC001F2AA4 /* fishhook.h */; };
BB1EBC4F258DE2AD001F2AA4 /* fishhook.h in Headers */ = {isa = PBXBuildFile; fileRef = BB1EBC4E258DE2AC001F2AA4 /* fishhook.h */; settings = {ATTRIBUTES = (Public, ); }; };
BB1EBC50258EA273001F2AA4 /* fishhook.h in Resources */ = {isa = PBXBuildFile; fileRef = BB1EBC4E258DE2AC001F2AA4 /* fishhook.h */; };
BB34C3FD244FAAB400D520A9 /* RMWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB34C3FC244FAAB400D520A9 /* RMWindowController.xib */; };
BB34C3FF244FAD3C00D520A9 /* log.html in Resources */ = {isa = PBXBuildFile; fileRef = BB34C3FE244FAD3C00D520A9 /* log.html */; };
Expand All @@ -47,6 +47,7 @@
BB6C87FA2520D2C3005AFCFC /* xt_forwarding_trampoline_arm64.s in Sources */ = {isa = PBXBuildFile; fileRef = BB6C87F72520D2C3005AFCFC /* xt_forwarding_trampoline_arm64.s */; };
BB6C87FB2520D2C3005AFCFC /* xt_forwarding_trampoline_x64.s in Sources */ = {isa = PBXBuildFile; fileRef = BB6C87F82520D2C3005AFCFC /* xt_forwarding_trampoline_x64.s */; };
BB6C881F2520D799005AFCFC /* SwiftTrace.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = BB6C87C42520D0D1005AFCFC /* SwiftTrace.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
BB746D602BACB62D0001685F /* SwiftKeyPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB746D5F2BACB62B0001685F /* SwiftKeyPath.swift */; };
BB79FC79245CC02200A4B4CB /* TimeLapseBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB79FC78245CC02200A4B4CB /* TimeLapseBuilder.swift */; };
BB7D7CAC2512F8F00069FE2C /* UpdateCheck.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB7D7CAB2512F8F00069FE2C /* UpdateCheck.swift */; };
BB80B3B526B573BE0055FAAE /* README_Chinese.md in Resources */ = {isa = PBXBuildFile; fileRef = BB80B3B426B573BE0055FAAE /* README_Chinese.md */; };
Expand Down Expand Up @@ -245,6 +246,7 @@
BB6C87F62520D2C3005AFCFC /* SwiftTrace.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = SwiftTrace.mm; path = SwiftTraceGuts/SwiftTrace.mm; sourceTree = "<group>"; };
BB6C87F72520D2C3005AFCFC /* xt_forwarding_trampoline_arm64.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; name = xt_forwarding_trampoline_arm64.s; path = SwiftTraceGuts/xt_forwarding_trampoline_arm64.s; sourceTree = "<group>"; };
BB6C87F82520D2C3005AFCFC /* xt_forwarding_trampoline_x64.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; name = xt_forwarding_trampoline_x64.s; path = SwiftTraceGuts/xt_forwarding_trampoline_x64.s; sourceTree = "<group>"; };
BB746D5F2BACB62B0001685F /* SwiftKeyPath.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SwiftKeyPath.swift; path = HotReloading/Sources/HotReloading/SwiftKeyPath.swift; sourceTree = SOURCE_ROOT; };
BB79FC78245CC02200A4B4CB /* TimeLapseBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TimeLapseBuilder.swift; path = Remote/Sources/RemoteMovie/TimeLapseBuilder.swift; sourceTree = SOURCE_ROOT; };
BB7D7CAB2512F8F00069FE2C /* UpdateCheck.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = UpdateCheck.swift; path = ../HotReloading/Sources/injectiond/UpdateCheck.swift; sourceTree = "<group>"; };
BB80B3B426B573BE0055FAAE /* README_Chinese.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README_Chinese.md; sourceTree = "<group>"; };
Expand Down Expand Up @@ -613,6 +615,7 @@
BB439B8A1FABA65D00B4F50B /* SwiftEval.swift */,
BBC03BBF2625F27C005C1A06 /* UnhidingEval.swift */,
BB9642A527E339BC00C61CB7 /* ObjcInjection.swift */,
BB746D5F2BACB62B0001685F /* SwiftKeyPath.swift */,
BB109FAF1FAECD92008C5218 /* SwiftInjection.swift */,
BBCB31C8281677C700081CB6 /* SwiftInterpose.swift */,
BB9642A727E33C8F00C61CB7 /* DeviceInjection.swift */,
Expand Down Expand Up @@ -1083,6 +1086,7 @@
BBCA02501FB107AF00E45F0F /* SwiftEval.swift in Sources */,
BD35949E21A6C5DE0020EB94 /* Vaccine.swift in Sources */,
BBCA02511FB107AF00E45F0F /* SwiftInjection.swift in Sources */,
BB746D602BACB62D0001685F /* SwiftKeyPath.swift in Sources */,
BB9642A627E339BE00C61CB7 /* ObjcInjection.swift in Sources */,
BBB64FE11FD575260020BE47 /* XprobeSwift.swift in Sources */,
BB04337A28D31A350007577F /* StandaloneInjection.swift in Sources */,
Expand Down Expand Up @@ -1477,7 +1481,7 @@
INFOPLIST_FILE = InjectionIII/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.12;
MARKETING_VERSION = 4.8.3;
MARKETING_VERSION = 4.8.4;
PRODUCT_BUNDLE_IDENTIFIER = com.johnholdsworth.InjectionIII;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -1501,7 +1505,7 @@
INFOPLIST_FILE = InjectionIII/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.12;
MARKETING_VERSION = 4.8.3;
MARKETING_VERSION = 4.8.4;
PRODUCT_BUNDLE_IDENTIFIER = com.johnholdsworth.InjectionIII;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down
2 changes: 1 addition & 1 deletion InjectionIII/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>7999</string>
<string>8040</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.developer-tools</string>
<key>LSMinimumSystemVersion</key>
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ always look like this:
You can leave these modifications in your production code as,
for a `Release` build they optimise out to a no-op.

### Injection on an iOS device
### Injection on an iOS, tvOS or visionOS device

This can work but you will need to actually run one of the [github
4.8.0+ releases](https://github.com/johnno1962/InjectionIII/releases)
Expand All @@ -140,7 +140,7 @@ of the InjectionIII.app, set a user default to opt-in and restart the app.
$ defaults write com.johnholdsworth.InjectionIII deviceUnlock any
```
Then, instead of loading the injection bundles run this script in a "Build Phase":
(You may also need to turn off the project build setting "User Script Sandboxing")
(You will also need to turn off the project build setting "User Script Sandboxing")

```
RESOURCES=/Applications/InjectionIII.app/Contents/Resources
Expand Down Expand Up @@ -173,7 +173,7 @@ It works but you need to temporarily turn off the "app sandbox" and
"library validation" under the "hardened runtime" during development
so it can dynamically load code. In order to avoid codesigning problems,
use the new `copy_bundle.sh` script as detailed in the instructions for
injection on an iOS device above.
injection on real devices above.

### How it works

Expand Down Expand Up @@ -298,4 +298,4 @@ for the code to be evaluated using injection under an MIT license.

The fabulous app icon is thanks to Katya of [pixel-mixer.com](http://pixel-mixer.com/).

$Date: 2024/03/07 $
$Date: 2024/03/26 $

0 comments on commit ef699da

Please sign in to comment.