问题
Anyone has experienced this problem? Yesterday I still can run my app in simulator but now I cannot run my app since Xcode prints this error in console:
error: failed to attach to process ID <ID number>
I have tried to reinstall, do this post and create new project but returns no luck. Anyone can resolve this issue?
I use Xcode 4.5 Preview 2 and try to run iOS simulator 6
回答1:
Resetting the content and settings in the simulator worked for me. This is available in the "iOS Simulator" menu.
回答2:
go to the Product menu and find the Edit Scheme menu there.
While in Edit Scheme window, select the "Run" option on the left hand side of the screen and then on the right hand side, change the debugger from LLDB to GDB.
回答3:
I experienced the same problem, and after a while I found out that it was due to the fact that my XCode project included a Folder Reference to a folder named Resources.
It seems that XCode doesn't like that name.
Just removing the folder reference or renaming the folder solved the issue.
回答4:
TWO METHODS
Method 1 : Inside the folder Application Support -> iPhone Simulator -> In the each simulator version of iOS -> Applications -> Delete all the files present here.
Now go to Products -> Clean
Now run it on any simulator and it will work.
Method 2 :

回答5:
Step1: ping
$ ping localhost
This should return something like
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.028 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.048 ms
...
If this works, this answer won't fix your problem, try something else.
If ping return something else for example: ping: cannot resolve localhost: Unknown host
something is screwed up with your /etc/hosts
file, go to Step 2
Step2: Check /etc/hosts
Check that the top of your /etc/hosts
file looks like this
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
If it doesn't have these entries in the file, enter them at the top of the file, flush the dns cache using $ dscacheutil -flushcache
and go back to Step 1, otherwise continue to Step 3.
Step3: Correct File Format: It should be unix or LF *
$ file /etc/hosts
This should return: /etc/hosts: ASCII English text
If it returns something like /etc/hosts: ASCII English text, with CR line terminators
then the file is in the wrong format and is likely being ignored.
Change the file line endings to unix or LF using your favorite text editor.
- In Sublime Text 2 this can be done throught the view menue: View > Line Endings > Unix
Flush the dns cache ($ dscacheutil -flushcache
) and go back to step 1
回答6:
Similar to fundtimer's answer, the local hosts file seems to have been the culprit.
I had to change my /etc/hosts
permissions back to the default after an inadvertent change:
sudo chmod 644 /etc/hosts
After that, simulator/LLDB worked for me.
回答7:
This is an old topic, but I believe things have changed a bit for the latest version of macOS.
I've stumbled on the issue while trying to run an UI test suite for an iOS app in the simulator on macOS Mojave Beta and Xcode 9.4.1.
Turns out, on macOS Mojave the codesign
tool (which is a part of the OS itself and not a part of the Command Line Tools or Xcode) signs processes into a hardened runtime environment which includes runtime code signing enforcement, library validation, hard, kill, and debugging restrictions. This, together with the System Integrity Protection in macOS Mojave, prevents the lldb debugger from connecting to the running target.
To resolve this, you have to options:
An obvious one, probably, is just to use Xcode 10. It does seem to handle the connection gracefully.
Reboot the OS into the Recovery Mode and turn off the System Integrity Protection from the Terminal with
csrutil disable
. The debugger then connects happily.
I've spent quite an amount of time banging my head on this and was able to resolve it all after reading the following article: http://www.lapcatsoftware.com/articles/debugging-mojave.html
Just my two cents. Hope this helps someone.
回答8:
I had somehow removed or deleted records from my /etc/hosts file and I got the same error. You should check whether you have in your /etc/hosts file the line "127.0.0.1 localhost". This helped me!
回答9:
I know this is an old question, but it came up first for me when I did a google search for "failed to attach to process ID". I'm using Xcode 7. Happened after iOS9 was released and I had updated my swift app for swift 2.
Deleting my app in the simulator and doing a new build and run cleared it up.
回答10:
I just removed the application from the simulator (just like you would on an actual device), and when I re-ran it everything worked fine.
回答11:
I have also same problem and for me the solution is :-
Just delete the app from the Simulator and then clear and Run the project.
May it help also to someone else.
回答12:
I just posted this on the Developer Forum. It was a simple solution and may help someone here:
I had exactly the same problem: when using any current version of Xcode 4.xx and the LLDB debugger, plus any version of the Simulator, XCode consistently crashed with 'failed to attach to process ...' My only resolution was to switch to the GDB debugger. This was disappointing since I really wanted to try the new, robust LLDB in XCode 4.6-DP.
And then I remembered; I had changed my network/server host file at ...etc/hosts some time ago to accomodate several Apache2 server virtual hosts, i.e., I removed the line:
127.0.0.1 locahost
That was it. Removing that line, XCode crashed on attaching to the Simulator with LLDB. Restoring that line, XCode worked just fine with LLDB and the Simulator.
Anyway, this may not be your problem but it's worth exploring. As far as I'm concerned, it's a serious undocumented bug.
回答13:
I've had the same problem when debugging on the device. The app crashed on start but didn't appear as a running process.
My solution is to use some process viewer app (e.g. System Status or similar). Find your stale app and then find the parent process id which usually is debugserver.
Go on Xcode, Product -> Attach to Process -> By process id and attach to the debugserver process PID. Wait a second and then press the Stop button.
The stale debugserver and app processes disappear.
(When using the simulator, the equivalent would be to use the terminal, ps, and kill the App process. Haven't tried that, though).
回答14:
In my case the solution was different: the run mode was "Release". Changing to "Debug" fixed it. Xcode 4.5.x had no problem with it.
回答15:
The issue for me was caused by a pretty stupid mistake: I created a new target for my project by duplicating an existing target and forgot to change the Bundle Identifier in the target's info.plist file.
回答16:
I fixed this problem by removing Xcode Derived data contents.
In finder press SHIFT+CMD+G and type below path and remove all data inside DerivedData:
~/Library/Developer/Xcode/DerivedData

Also reset simulator builds
~/Library/Application Support/iPhone Simulator/6.0/Applications
回答17:
Above answer really helped me. https://stackoverflow.com/a/12819757/1752988 Because in my XCode I used story board and custom view controller. and in its warning list that I saw some of the nib files are missing. I was miss leaded by seeing that. However, I saw this answer, and even though I didn't like to reset my App simulator content, I did it and it really worked for me.
And also Changing the Debugger from Product -> Scheme -> Edit Scheme (Run) from LLDB to GDB didn't work for me either.
P.s.:- Pardon me,I added this answer as a support comment to above, as I don't have 15 reputation upvote the above answer or 50 points of reputation to comment on above.
回答18:
I solved this problem by quitting XCode and Simulator. Reopen the Project. Done.
回答19:
The following worked for me on iOS 9.1 :
- Just uninstall the app from the simulator
- Quit the simulator (Cmd+Q)
- Clean your Xcode project
- Run on simulator
Note: No need to reset the simulator.
回答20:
I am working on Ionic 2 application, I am new to this and even Xcode and simulator.
Initially my app was working on simulator but after some time it start generating error like-
xcode error: failed to attach to process id
I searched for, tried all above answers but my issue was not resolved.
Then I updated (Ionic, npm, cordova) my machine setup-
******************************************************
Dependency warning - for the CLI to run correctly,
it is highly recommended to install/upgrade the following:
Install ios-deploy to deploy iOS applications to devices. `npm install -g ios-deploy` (may require sudo)
******************************************************
Your system information:
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-beta.10
Ionic CLI Version: 2.1.8
Ionic App Lib Version: 2.1.4
ios-deploy version: Not installed
ios-sim version: 5.0.8
OS: OS X Yosemite
Node Version: v6.2.2
Xcode version: Xcode 7.2 Build version 7C68
******************************************************
After this I just run a command from my application home directory
- ionic run -l
- ionic build ios.
- imported xcode changes to xcode.
- Reset content and setting as-
- clear product from xcode,
- Run Xcode and now it is working on simulator.
Happy to see this!!!
回答21:
On XCode 9+ do the following: Goto to the XCode menu: Product-Scheme - Edit Scheme and under Run tab be sure that the Debug Executable checkbox is checked ! That's it!
回答22:
Just reset content and settings of iOS simulator and then clean code by pressing command+shift+k keys to clean code.This worked for me
回答23:
As lame as it is, restarting my computer was the only solution that worked. I tried switching from LLDB to GDB, resetting the contents of the Simulator, and restarting Xcode. The only thing that worked was restarting my computer, reopening Xcode, and re-running the app.
回答24:
I had the same problem. I did some combinations of answers given to make it work. :)
clean the Build Folder by clicking "Product" in the MenuBar. while pressing the Alt-key click on "Clean Build Folder". Now restart your xcode and simulator. Now it should work. if not, also try changing bundle identifier and Simulator "Content Reset" and then restart xcode and simulator.
回答25:
Ran across this today. I accidentally removed my Launch images from my Target Settings.
回答26:
try to do next steps:
- Go to Product/Scheme/Edit Scheme then select Run section.
- Select Info Tan and set Debugger None.
- Run project. It must be working (without debugger)
- Go back to Edit Scheme and selecet debugger LLDB
- Run project. It is working.
Maybe additionally you need to delete derived data and do Product/Clean
回答27:
Do you have multiple users logged in to your machine? I have "personal" and "work" accounts on my laptop. I got this error when I was trying to debug from my personal account, but I had left the simulator running in my work account. Quitting the simulator in the other account fixed my problem.
回答28:
and another one for the record: (none of the suggestions worked for me)
Mountain Lion: XCode 4.6.3
- I
moved the whole Application to Trash
and deleted following other folders /Users/[USERNAME]/Library/Developer
/Users/[USERNAME]/Library/Caches/com.apple.dt.XCode
/Users/[USERNAME]/Library/Application Support/iPhone Simulator
reboot System and reinstall XCode
回答29:
Also had same problem today. i was using Xcode 4.6.3. i closed my project and open it in Xcode 5 and it is running perfect.
Strange but True
回答30:
I had the same problem, in my case the issue was :-
Have set "Build active architectures : NO". Just changed it to YES and it worked.
来源:https://stackoverflow.com/questions/11535844/failed-to-attach-to-process-id-xcode