Reputation: 3052
I noticed that my app crashes more often for users with slower machines (like MacBook Air or MacBook Pro with CPU lower than i5). However, as a developer, it's hard for me to reproduce these problems on my machine (Retina, 15-inch, Early 2013, 2.7 GHz Core i7 16GB RAM).
The app is CPU intensive (real-time multi-peer audio-video conferencing) and multithreaded and most crashes occur accidentally during key operations like start/stop audio or video streaming/capturing - sure sign of bad multi-threading interoperation.
Thus, I was wondering, are there any tools for testing application under scarce system resources (like limiting cores or CPU frequency/execution time for the app process) which will help me understand system requirements and limits of my app as well as help to reproduce certain heisenbugs?
Upvotes: 2
Views: 51
Reputation: 113
In the Apple Developers Resources there is the Hardware IO Tools for Xcode, that contains the Network Link Conditioner Tool, very useful to test your projects under critical Network condition.
Thus, it only allows you to simulate scarce networking resources, not system's: so I can suggest you to create a Virtual Machine and run Xcode or your IDE from there, and you previously decide how many resources (cpu cores, graphical memory, RAM) allocate.
Upvotes: 1