-
-
Notifications
You must be signed in to change notification settings - Fork 309
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
counld not find file #3
Comments
Hi, have a look at running /tmp/eval.sh to see what the problem is or could you email it to me injection at johnholdsworth dot com. It seems to have found the compile command OK. Would be good to work out the problem if it used to work in InjectionApp. Are you using the new build system? |
I have check the And I don't know what the |
Can you try running the file after editing off the extra cruft at end of the string? This is what the app does. “new build system” is part of Xcode 9. If you’re not ware of it you’re probably not using it. |
I have tried to running the file in terminal after deleting the part of |
I have email you the sh file. |
I’ve prepared a test version of the app which produces a file /tmp/command.sh which is the command actually executed after minimal processing. There must be a difference in escaping if you say the edited eval<N>.sh command works. Can you look into the differences please? |
I'm sorry that I give you the wrong information. In fact, the I checked the code how to run shell in bundle. Maybe there is something different between I used to run shell with the below setting
It seems that lacks the environment. I tried to add these to |
I’m beginning to get an idea what the problem might be here. Due to the new version of injection’s root being “SwiftEval” all build commands are run using execve in the simulator 😱. Everything seems to run except in the simulator filenames are case sensitive i.e. HeAdEr.h when it is #included will not be the same as Header.h on the file system. Can you check this is not the case here? The headers where precompiled on OSX but the incremental compile will be trying to open the header inside the simulator’s OS. Eventually I’ll have to change this no doubt to run builds on OSX but this could be the problem at the moment. |
Sorry,I had no idea what you mean. Did you mean some file named |
It’s precompiling in a header you don’t reference in your project at all? It’s not in a pod or something? |
Yes, I have referenced the file somewhere. What I means is the file name and import are case equal. |
Seems like I’ll have to move the compile onto OSX somehow which I was trying to avoid but it's where it should be. |
Why you didn't want to move the compile onto OSX? |
I have create a demo project which contain the |
Ok, I’ve uploaded a version that compiles on OSX if you want to give it a try. It gives slightly less feedback but I can work on that if it solves your problem. |
Still no work...
sometimes likes below:
|
At least it’s compiling now. Are you building/running 32 bit? That’s not supported in the new version. |
Right, I’ve uploaded a version that supports 32 bit apps! Can you test it out? |
It looks very strange after updating the project. The fileWatcher's callback would not be invoked, so even though I changed the files would not cause rebuilding. |
Are you watching the right project? The project is taken from the active project when the app starts. |
I found the real reson is the injection was stuck on the code |
Perhaps you have very long paths. I’ve moved the connection setup to the background thread. Are you building yourself or using the binary (updated) The changes are intentional. Most work is now on OSX |
It can rebuild now. But still said symbol not found. |
Is the symbol in a framework that is in the app bundle? It should be linking with them. Are you using Google Analytics or any other binary frameworks? The differences with InjectionApp are minimal now. |
Yes,the framework is in the app bundle. In fact, it's a subProject and it's target is a dynamic framework. I found the setting of |
Could easily be. Injecting something that refers to hidden symbols inside another dynamically loaded library can be problematic. Files that don't should be OK. Did this work with the old injection? |
By the way, the error below still exist, the injected code was in a subProject.
It seems to build on a wrong architecture. |
Strange "Symbols Hidden by Default” didn’t affect the framework. I’ve pushed a new version that re-instates the filtering by target architecture when looking for the compile which should fix the last problem you mentioned. Bit by bit this is becoming the old Injection! |
I have resolve the symbol problem by remolve the setting of |
Great, thanks for sticking with the various iterations. Closing this now. |
@johnno1962 I have a question that if there are a binary framework in my project, it means I cannot inject files related this framework? Have any way to resolve it? |
What is the error? |
such like this: In my project,the architecture like |
I try to use it in my project. But I found that it can no work as it's ok in demo.
The error I got is as below:
I guessed the problem is my project is very large so the activitylog is large too. But I cannot resolve the error. I used to inject the project by injectionApp and it worked well.
By the way, I have tried to clean the project and rebuilt it . But it didn't work.
The text was updated successfully, but these errors were encountered: