johnno1962 / InjectionIII

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

Re-compilation failed #489

Closed ristkof closed 8 months ago

ristkof commented 8 months ago

First recompilation failed after renaming a file, with the error message could not find file.

I reinstalled InjectionIII, upgraded to the latest version from github, cleared out the ~/Library/Caches/com.johnholdsworth.InjectionIII/... and ~/Library/Preferences, deleted the app from the simulator, ... I tried cleaning up. But I might have missed some things.

Now I have again a recompilation failed, but with an error message that it is not seeing a type which is defined in a file that I have added recently. So it looks like InjectionIII is still seeing an old version of my project.

What can I do to clean out everything?

ristkof commented 8 months ago

Not really sure what caused it but it got fixed all by itself 😁

ristkof commented 8 months ago

hm... it depends on which file has been modified apparently. So it's not completely gone.

johnno1962 commented 8 months ago

Hi, there are the usual things to try. Injection doesn't like it when you change the list of files in a project and there is caching. Can you do a build clean, close and reopen your project to remove the old build logs and remove the files /tmp/*_builds.plist?

ristkof commented 8 months ago

Seems to have helped, at first sight! Thanks!!!

johnno1962 commented 8 months ago

Yes, the caching is worth it for very large projects but it can cause confusion such as this. The cache is per-file so after a file was deleted you would have received this error for each file you tried to inject. I'm debating whether a compilation error should clear the cache completely instead. What I don't understand is, in theory, injection should have removed the cache entry and retried re-parsing the logs. I've noticed that lately however Xcode has stopped logging the compilation commands for files that have not changed. Perhaps that's the problem. Anyway, happy you're up and running and thanks for the Tip.