views:

478

answers:

1

I set it to iPhone/Network mode, but the device never appears anywhere. Connected and running an app through xcode. Do you know a useful tutorial for this?

+5  A: 

This answer provides a step-by-step guide to connecting Shark to a running instance of your application on an iPhone.

As far as tutorials on how to use Shark, there are the following:

Among the most powerful things you can do with Shark is to do a time profile of your application, then right-click on the low-level symbols (objc_msgSend, etc.) and charge the symbol or library to its caller. This very quickly lets you determine what methods of yours are chewing up the most CPU time.

When dealing with multithreaded applications, I find it useful to do a system trace and then examine the timeline to see when various threads were executing. You may wish to show the advanced controls (Window | Show Advanced Settings) to enable more visualization options. One the Mac, it can be useful to turn on CPU coloring, but that's of little use on the current iPhones.

Personally, I would suggest picking up the WWDC videos from this year's conference. If you only take the iPhone track, they are a great deal at $299. There are a couple of sessions that show how to use Shark and Instruments to tune iPhone applications. Additionally, if you pay for the ADC Select membership, you'll have access to several videos on using Shark from previous WWDC conferences. I learned most of what I know about Shark from these videos.

Brad Larson
Thanks for the links! I'm sure the WWDC videos and ADC membership is really useful, but I'm not rich enough to spend so much for this. Don't even have an iPhone ;-)
HelloMoon