johnno1962 / InjectionIII

Re-write of Injection for Xcode in (mostly) Swift
MIT License
4.01k stars 318 forks source link

Support for visionOS #477

Closed Perjan closed 8 months ago

Perjan commented 8 months ago

Currently visionOS is not supported. I was wondering if there is any plan to support it?

If I run the app in the simulator, Xcode prints a warning like this Error loading /Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle/iOSInjection (82): dlopen(/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle/iOSInjection, 0x0109): tried: '/Users/perjanduro/Library/Developer/Xcode/DerivedData/MoneySpace-aksawvfkswfduugalzgqfgxexrtf/Build/Products/Debug-xrsimulator/iOSInjection' (no such file), '/Library/Developer/CoreSimulator/Volumes/xrOS_21N305/Library/Developer/CoreSimulator/Profiles/Runtimes/xrOS 1.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection/iOSInjection' (no such file), '/Library/Developer/CoreSimulator/Volumes/xrOS_21N305/Library/Developer/CoreSimulator/Profiles/Runtimes/xrOS 1.0.simruntime/Contents/Resources/RuntimeRoot/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle/iOSInjection' (no such file), '/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle/iOSInjection' (mach-o file (/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle/iOSInjection), but incompatible platform (have 'iOS-sim', need 'xrOS-sim'))

Thanks for this amazing tool. It has already saved me tons of time.

johnno1962 commented 8 months ago

Hi, This is interesting. I thought I found you could use the iOSInjection.bundle in the past. Which version of Xcode is this? I'll add a new bundle to the build script. In the meantime you can add the https://github.com/johnno1962/HotReloading project which is InjectionIII as a swift package which seems to work with Xcode 15.2. I'll get back to you about the bundle.

Perjan commented 8 months ago

I have the latest Xcode version, 15.2. I am using the Inject package by Krzysztof Zabłocki.

johnno1962 commented 8 months ago

I'm nearly at the point where I can make a release candidate supporting an xrOSInjection.bundle in the InjectionIII.app though Inject itself will need a minor change to switch to loading it. If you can hang till tomorrow then wait otherwise see how you go using the HotReloading project.

Perjan commented 8 months ago

I can wait until tomorrow, no worries ;), Looking forward to the new version. Please let me know when you release it. Thanks again John.

johnno1962 commented 8 months ago

We're nearly there, the new release candidate is available and I have a fork of Inject you can use for now. Let me know how you get on.

johnno1962 commented 8 months ago

OK, Inject is merged you should just be able to "update package" (+set branch to main as there is no tag yet) once you've downloaded the app.

johnno1962 commented 6 months ago

@Perjan, have you ever wanted to inject on a visionOS device? It may work. If you're interested I can talk you through it as I'm curious if it works myself. There is a new release candidate with support for this in theory and you should be able to follow the instructions in the project README for injection on an iOS device.

Perjan commented 6 months ago

Yes, but I don't have yet a device :(

johnno1962 commented 6 months ago

Ah, that rather puts a cap on that! When you get one let me know and we can try it out.

johnno1962 commented 6 months ago

FYI, seems you could already inject on Vision PRO is you use the HotReloading project. https://github.com/johnno1962/InjectionIII/issues/490#issuecomment-1981141886