ChatGPT解决这个技术问题 Extra ChatGPT

Is there a quicker / better way to clear the iPhone Simulator cache than deleting its directory?

So I'm still reasonably new to iOS development and I'm finding myself quite regularly needing to delete either DerivedData, or the contents of the iPhone Simulator directory, to get things to actually execute from my code. Clean in Xcode doesn't do the same as emptying those directories, right? And if not, is there an easier way to do it than lugging Finder around to get to them, and clearing them?

3 years ago maybe this wasn't an options, but check my answer, it works for me!

C
Community

66:99 and climbing:

Yes, there is a better way than going into every single simulator in town, and resetting contents and settings one at a time. Also much better than looking into your simulator's directory and yanking the cache from under its feet.

Quit iPhone Simulator, then run xcrun in Terminal:

xcrun simctl erase all

Safe and effective.

See https://stackoverflow.com/a/26394597/218152 for single device

xcrun simctl erase [device ID]


Does this erase the simulators themselves, though? So that I’d need to re-add them in Xcode's Devices screen afterward?
Just the content. From the documentation (xcrun simctl help), erase: Erase a device's contents and settings., not to be confused with delete: Delete a device or all unavailable devices.
Awesome. Tempted to switch my correct answer in light of this :)
@lukech: Much appreciated. I stumbled into this solution while trying to save memory on my HD, and was looking for a clean build folder approach. And props to you for keeping this question active.
this command takes forever to run, how to select target sim with uuid?
J
Jeff Wolski

In the iOS Simulator menu, there is an option called Reset Content and Settings...

This should do the trick.

EDIT:

To make this much quicker and easier, I added a shortcut key like this...

In System Preferences, choose Keyboard

https://i.stack.imgur.com/gOLW3.png

Then choose the Shortcuts tab. And click App Shortcuts

https://i.stack.imgur.com/SIjjh.png

https://i.stack.imgur.com/alivp.png

Click theChoose Simulator from the Application: drop-down. If it's not there, scroll to the bottom of the application list and choose "Other...". Then type "simulator" into the search and add the Simulator from there. Type Erase All Content and Settings... into the Menu Title: text-box. Type your preferred shortcut key into the Keyboard Shortcut:. (I use command-period) Click the Add button.

https://i.stack.imgur.com/vk5sa.png

Now, while in your iOS Simulator, you can simply use your new shortcut key to reset.

If the Simulator doesn't appear in the drop down list:

In a Finder window, go to your Applications folder. Right-click Xcode and choose "Show Package Contents". Navigate to Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/ You will see iPhone Simulator.app. Now, in the Settings app, instead of choosing iOS Simulator which is missing, you choose Other.... This will cause a window to appear that has a list of Applications. Now, drag iPhone Simulator.app from your Finder window to the window that appeared when you clicked Other....


The iOS Simulator no longer appears in the Application drop-down. Should I just choose "xCode.app"? I'm on OS 10.8.3 with iOS Simulator 6.0.
In a finder window, go to your Applications folder. Option-click Xcode and choose "Show Package Contents". Navigate to the Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/ folder. You will see iPhone Simulator.app. Now, in the Settings app, instead of choosing iOS Simulator which is missing, you choose Other.... This will cause a window to appear that has a list of Applications. Now, drag iPhone Simulator.app from your Finder window to the window that appeared when you clicked Other....
I came here looking for something else, but went through your steps just because your answer was so good. thanks!
Reset Content and Settings will not clear client-side assets on a VPN. I was struggling this for a while wondering why my CSS animations worked everywhere except the simulator, only to find out that it was caching old files even when I had deleted content and settings. The only thing that ended up working for me was disconnecting from my VPN and restarting my VM then reconnecting (the framework I use versions all my assets for me) -- you can also version them manually if just testing stuff, but that's annoying. This is something Apple should fix; it only happens when testing for iOS for me.
If you can't find the simulator at the path Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/ as pointed out by @JeffWolski, You can search for it by the search term simulator.app
R
Ryan

For web development and testing on the iOS Simulator (Safari):

With both iOS Simulator and Safari open, go to Safari > Develop > iOS Simulator and select your page which will give you access to the Web Inspector tools. Go to Safari > Develop > Empty Caches to clear the cache on iOS Safari.


@AdrianFlorescu this is a solution for debugging web development on iOS Safari, but I think the question was pertaining to iOS app development.
Does not work on Safari 9.0.3 with remote debugger. "Disable caches" has no effect either.
This setting does nothing for me (does not actually clear cache on mobile safari)
Yeah. Looks like it doesn't clean the iOS cache anymore. I guess it did in the past...
this is the only solution that seems to be working stackoverflow.com/a/51421939/1055015
u
user956584

Web inspector new has option to disable cache 2020 solution

https://i.stack.imgur.com/5jzFy.png


Thank you! Works perfectly.