johnno1962 / InjectionNext

Fourth evolution of Code Injection for Xcode
MIT License
53 stars 1 forks source link

Can't get it to work #25

Open genkernel opened 1 day ago

genkernel commented 1 day ago

Hi.

Im coming from HotReloading. When using HotReloading as an added spm package I encountered duplicated symbols errors every time I changed & tried to build another target (within the same xcode project). I did not have duplicated symbols error without HotReloading so I attributed it to HotReloading (maybe wrongly).

Not sure if things will be better with InjeectionNext but I like what I see in the description so Im giving it a try.

I cant get InjectionNext to work though. Here is what I did to my project: I removed HotReloading package. I added InjectionNext package and linked it. I left HotSwiftUI linked. In addition I downloaded InjectionNext using the latest binary on gh.

I used InjectionNext to restart Xcode via Launch Xcode.

Here is what I see in logs when running: InjectionNext/Could not connect: Connection refused In addition I noticed menu item Show Last error in InjectionNext itself, it shows: ld: warning: search path '/Applications/InjectionNext.app/Contents/Frameworks' not found ld: warning: search path '/Applications/InjectionNext.app/Contents/Frameworks' not found ld: building for 'macOS', but linking in object file (/private/tmp/injectionNext_0.o) built for 'iOS-simulator' clang: error: linker command failed with exit code 1 (use -v to see invocation)

InjectionNext icon is yellow. This is on M1 and Im building for iOS Simulator.

Thanks for checking!

genkernel commented 1 day ago

One more ask, is it possible to launch InjectionNext -> Xcode from a terminal? Something like Im launching InjectionNext giving it xcode's prj file (or workspace) and it in turn automatically launches xcode saving those menu taps.

johnno1962 commented 18 hours ago

Are you trying to use InjectionNext on a real device ? If so you need to use the menu item "Enable Devices" to allow the connection from your device to connect the network. While you see the error "Could not connect" and the icon is not orange it will not work. There is no way to launch with a specific workspace from the command line.

genkernel commented 7 hours ago

Are you trying to use InjectionNext on a real device ? If so you need to use the menu item "Enable Devices" to allow the connection from your device to connect the network. While you see the error "Could not connect" and the icon is not orange it will not work. There is no way to launch with a specific workspace from the command line.

Nope. I cant get it to work on Simulator and above logs are from running on Simulator.

Just to add more context I see different logs when running on device: 🔥 InjectionNext: Locating developer's Mac. Have you selected "Enable Devices"? Broadcasting to IF#1 to locate InjectionNext host... ... 🔥 Connecting to my-host ... InjectionNext/Could not connect: No route to host

Im not looking to make it work on device.