johnno1962 / Smuggler

Smuggle code bundles into an app running in the Simulator
MIT License
32 stars 0 forks source link

Can't get injection to work #1

Open olbrichj opened 5 years ago

olbrichj commented 5 years ago

I'm currently trying to get Smuggler to work with the provided SwiftTrace bundle. Getting it to compile wasn't easy as the custom run phases at the end didn't work. But having it started I was able to select a bundle. The first time I did so, it installed the helper tool (I've checked, it's present) and afterwards hung in the openDialog. The second time, it said injected, but nothing happened. Calling SwiftTrace from the menu item behaves the same way. It states it's trying to inject the bundle and afterwards that the bundle was injected. Furthermore I get an error from PluginKit Nothing else happens. Both apps (Smuggler and my demo iOS app in the simulator) were connected to Xcode instances.

I kind of expected to see the trace result in one of Xcode's terminals.

My system: macOS 14.1 Xcode 10.1 apps used to being injected: one in Obj-C and one in Swift.

I take a guess and the problem lies within the Swift versions used (can this be a problem?)

Thanks for the help :)

johnno1962 commented 5 years ago

The current version of Injection is https://github.com/johnno1962/InjectionIII. Suggler was only used to avoid having to patch the project. If you ass a line to your project to avoid this life is much simpler.

olbrichj commented 5 years ago

I'm currently looking into this, as I'm interested how you can develop plugins for the simulator (such as flawless or the just beta released sherlock). Maybe I'm on the entire wrong track, but as far as I determined it is done by injecting themselves into the app/simulator process and swizzling either a window on top of everything or modifying viewController properties. The reason I looked into Smuggler was precisely the reason, that it didn't need any setup.

johnno1962 commented 5 years ago

There is a log file /tmp/helper.log which may help but in general it is spectacularly difficult to debug smuggler. It should be able to load any bundle but the errors you are reporting are far further down the line so it is difficult to know what to say other than start simple and work your way up.

olbrichj commented 5 years ago

thanks :)