iPhone

iOS DFU Mode

Posted by Dallas on February 12, 2013
Apple, iOS, iPhone / No Comments

Wow, this post is 1-day shy of being 1 year from the last post.
Sorry about that…

I just put together instructions for someone about going into and using DFU mode on an iOS device, so I thought I would post it here as well.

—–

DFU (Device Firmware Upgrade) mode is a low level mode that 99% of users should/will never know about or need, however there are cases where it can be an invaluable debugging resource.

There are a couple of scenarios where you might find this mode helpful, for example:

If the iPhone/iPad gets stuck in a reboot sequence (constantly reboots), simply enter DFU mode and then rebooting can often fix this.
Another time would might want to use DFU mode is if you are having issues with upgrading the firmware on a device.
DFU mode can give you the ability to have more control over the firmware process, however it does take more work.

Entering DFU mode can sometimes be tricky, especially if you are new to doing it.
Don’t worry if you don’t get it right, it won’t break anything.
Just wait for the device to finish starting up normally and then try again.

Below I will give instructions on how to enter DFU mode, and then below that I will include the process to “fix” the two scenarios I listed above.

DFU Mode Instructions
——–

1. Plug the iPad into your computer
2. Launch iTunes
3. Hold down the Power button and the Home button at the same time
4. Keep holding both of these buttons for 10 seconds (Your device will restart during this process, which is what it should do, but don’t release the buttons)
5. After 10 seconds pass, release the Power button but continue to hold the Home button for another 3-5 seconds
When in DFU mode, your device’s screen will stay completely black.
If you see an Apple logo or the device boots normally, you did not enter DFU mode successfully.
6. iTunes will notify you that it has detected a device in recovery mode.
Press ok.

You are now in DFU mode!

If you are trying to get out of the continual rebooting sequence, then at this point, hold the power and home buttons down again at the same time.
However this time, release both buttons as soon as the device reboots.
Your device should then boot normally.

If you are trying to fix an upgrade issue, you will need to complete a few more steps.

To continue you will need the firmware package that you are trying to update too.
There are two ways to get this firmware.

If iTunes has asked you if you want to download the update, but then you have not installed it, or have tried installing and run into issues, then the file should hopefully already be on your computer.

You will need to open a new Finder window and then press Command-Shift-G
This will bring up a little window where you can enter the folder you want to go to.
You will need to enter: ~/Library/iTunes and then press Go.
In this folder you will see several files and folders, but the ones you are interested in is one of two folders.
Either: “iPhone Software Updates” or “iPad Software Updates”
If you go into that folder you will hopefully see a file.
If you do not see a file, then you will need to follow the steps below to download the firmware.
If there is a file, check the name of the file(s) to make sure it is what you are wanting.
(Most likely there will only be 1 file and it will be correct, but it doesn’t hurt checking)

You are now ready to do the upgrade, and will want to skip this next section about downloading the firmware.

If your updates folder was empty or you are wanting a specific firmware then you will need to visit:
http://www.felixbruns.de/iPod/firmware/

Find the firmware version you are looking for either by using the direct links to the latest versions around the bottom of the page, or by using the drop down menu for the iPhone/iPad devices.
Pay special attention to which firmware you are downloading.
You must download the appropriate firmware for your device.
The main things to look for when choosing your firmware, are the version numbers, the device type (iPhone/iPad/iPad Mini), and if your device is WiFi only, or WiFi and Cellular/3G.
If your device is WiFi and Cellular then you must download the WiFi and Cellular firmware even if you do not use the Cellular functionality.
As well as above, if your device is WiFi and Cellular then you must download the correct firmware for the Carrier that your device is setup for.
The choices here are GSM or CDMA.
AT&T (and T-mobile if they get the iPhone at some point) is GSM and everything else is CDMA.

So for example if I have an iPad 3 with WiFi and Cellular with AT&T and want version 6.0.1, I would choose:
iPad 3 (Wi-Fi + Cellular, GSM) 6.0.1

Download this file.
(Depending on your browser you might need to do ‘Download File As’ if you are using one of the links)

At this point, no matter which process you went through above, you should have the firmware package you are wanting to upgrade to.
Now we will go back to iTunes, which should still be telling us that our device is in “Restore Mode” (really it is in DFU mode from the first steps we took)
iTunes should show a button called: Restore iPhone… (or iPad, etc)
If you were to click this button iTunes will simply try the install again, however for our purposes we want to Option-Click on the Restore iPhone (or iPad, etc) button.
This should bring up a standard Mac ‘Open’ window, where you need to find and select the firmware file we found or downloaded before.
Once you have found the file, select it, and press ‘Open’.

iTunes should now try and install the firmware you selected.

Please note that this is not a end-all-be-all solution.
There are times where this process will not work, for any number of reasons, however this process can be very helpful at times.

I Hope this helps.

Tags: ,

My Mac/iOS Setup at Work

Posted by Dallas on December 17, 2010
Apple, Fanboy, General, HashBang Ind, iDeskCal, iOS, iPhone, Mac, Personal, Programming, Programs / No Comments

Inspired by a similar post I saw today, I thought I would take a snap of my computer setup at work and share it with all of you.

I have uploaded it to Flickr with notes on what everything is, but I will attach the basics to this post.

Work Setup

This is my setup at work – Moki Networks – mokinetworks.com
All Displays powered by the iMac.

27″ iMac – 2.8 GHz Intel Core i7. 8GB RAM – Running Xcode
Samsung 27″ Monitor – Running my Mac app ‘iDeskCal’ www.HashBangInd.com/iDeskCal and Safari viewing www.philhendrieshow.com
Dell 24″ Monitor – Powered via EVGA UV Plus+ 16 (USB Display Adapter) Running iPhone 4 Simulator and Xcode Console
iPad running as a monitor using the app Air Display. Using for Mac OS Dock, Twitter (Echofon), and IM (Adium)
iPhone 4 running Safari, viewing personal Mac and iOS company HashBang Industries. HashBangInd.com
iPhone 3GS
iPhone 3G (broken screen but working)
iPod Touch – 2nd Generation
iPhone – 1st Generation
Bose QuietComfort 15 Noise Canceling Headphones
Dr Pepper!

Tags: , ,

Very Very Classy

Posted by Dallas on June 17, 2010
Apple, Cocoa, Cocoa Touch, Fanboy, iPhone, Mac, Objective-C, Programming, WWDC / No Comments

I was VERY disappointed that I was unable to make it to Apple’s WWDC (World Wide Developer Conference) this year (it was last week).

The sessions are always VERY informative, but it is also a excellent chance to not only meet with other Mac/iOS developers, but you have the chance to talk one on one with the very people who are writing the software and API’s (Application Programming Interface) that we write software for/with.

Apple does make the videos of the sessions (along with the slides) available to everyone that attends, and allows those that didn’t attend to purchase the videos.
Before last year, these videos usually took around 6 months to become available, however last year they had them released within a month.

This year Apple TOTALLY outdid themselves and have released the videos all today!
That is LESS than 1 week!
Not only did they release everything within a week, but Apple has made all of the videos and slides available to ALL registered developers (even the free developer accounts) FOR FREE!!! That is a $500 savings for those that couldn’t attend!

I only have 2 things to say…

First: Good bye to my Hard Drive space :-) (The videos are available in HD and Standard formats this year)

and Secondly… Classy Apple! VERY VERY CLASSY!

Reminder: Even though the videos did not cost this year, they are still covered under an NDA that you agree to when signing up for a developer account. Don’t make them sorry that they were so giving.

Tags: ,

Newsprint 1.1 is Now Available and 50% Off!

Posted by Dallas on April 21, 2010
App Store, Apple, HashBang Ind, iPhone, Newsprint, Personal, Programs / No Comments

Newsprint version 1.1 has been Approved and should start showing up in the App Store shortly!

As an extra treat we are offering Newsprint for 50% off for the next week!

So don’t delay and pick up a copy today.

For more information on Newsprint, please visit: NewsprintApp.com

To access Newsprint in the iTunes App Store, please visit: App Store

*On sale from April 21, 2010 until April 28, 2010.
*50% off is $2.99, based on the normal price of $4.99

Tags: , , ,

Newsprint is now available in the App Store

Posted by Dallas on February 26, 2010
Apple, HashBang Ind, iPhone, Newsprint, Programs / No Comments

My latest application, Newsprint, is now available in the iPhone App Store!

Newsprint is a professional grade feed (RSS/Atom) reader for the iPhone and iPod touch, with support for Google Reader.

You can find more info on Newsprint at: http://www.NewsprintApp.com
You can find Newsprint in the App Store by using this link: http://www.NewsprintApp.com/download

Tags: ,

Core Data Speed Gotcha

Posted by Dallas on December 31, 2009
Cocoa, Cocoa Touch, Core Data, iPhone, Mac, Objective-C, Programming / No Comments

Recently I was doing some performance stress testing on my upcoming iPhone app, Newsprint, and ran into a little Core Data gotcha that I thought I would document for both myself and for Google to index for others.

Special thanks to Jeff LaMarche for guiding me in the right direction to figure this out. You can find his blog at: http://iphonedevelopment.blogspot.com/

This issue came to play when I needed to do a fetch request from Core Data and then run a couple of Predicate “searches”/”filtering” on the data.

My original thought was that doing a single fetch request and then running my different predicates on the returned set of objects would have better performance then doing multiple fetch requests since I would only have to pull from the Core Data SQLite DB once and then I would have everything in memory and I could just simply manipulate it.

Turns out that this is HIGHLY incorrect.

If instead you just do multiple fetch requests and implement your predicate into your fetch request, that Core Data and SQLite are smart enough to scan the records more efficiently and without causing Core Data Faults to fire.

This gives a MASSIVE speed increase!

So if you are ever doing something similar, make sure to check this method and see if it to can speed your app up.

Celebrate the Holidays with HashBang Industries

Posted by Dallas on November 24, 2009
App Store, HashBang Ind, iDeskCal, iPhone, Mac, Programs / No Comments

BlackFriday09

Cocoa Touch for iPhone OS 3, Now Shipping!

Posted by Dallas on November 19, 2009
App Store, Apple, Cocoa Touch, iPhone, Objective-C, Personal, Programming, SDK / No Comments

The book that I was the Technical Editor for, Cocoa Touch for iPhone OS 3, is now shipping from Amazon.com and should also be in (hopefully) most Barnes and Nobles.
View it at Amazon.com by clicking here.

This book is great for new iPhone developers as well as experienced ones.
You will need some Objective-C knowledge, but if you have some OOP (Object Oriented Programming) experience you should be ok with picking up an Objective-C book as well for as you work through the book.

If you are in a B&N stroll into the Geek, err, I mean Computer Programming section and look for the book.
Feel free to buy a copy to support my good friend and author of the book, Jiva DeVoe.
If you can’t get yourself to that level of geek, at least pick it up and look at the ‘Credits’ page, right before the Table of Contents and then you can go around to all the geeks in that area and say, “I KNOW THIS GUY!” :-)

This makes 2 iPhone development books that I have been involved in, each one with more of a role than the last, however I can safely say it will be my last as after being involved with the book writing processes and having the author be a close friend of mine, I don’t really have a desire to write one myself (unless it’s an offer I just can’t refuse).

cocoaTouchForIPhone

KidFlix is now available in the iTunes App Store!

Posted by Dallas on November 19, 2009
App Store, Apple, HashBang Ind, iPhone, Personal, Programs / No Comments

After pending review for more than 8 months, we are happy to announce that KidFlix was officially approved for sale today!

KidFlix is for parents with small children. KidFlix stops kids from accidentally activating the on-screen controls while listening to audio or watching videos on your iPhone or iPod Touch. Therefore eliminating accidental exits, fast-forwards, etc and therefore eliminating the need for you to constantly fix the problem.

KidFlix is not meant to be a substitute for proper child care, but instead to be a helping hand in keeping your child entertained.

As a parent of a young child I know how valuable of a tool this program can be when you are at say a restaurant and your child starts getting bored.

You can purchase KidFlix for $1.99, directly from the App Store by following the URL:
itms://itunes.apple.com/us/app/kidflix/id307595676?mt=8

Now Officially Indie!

Posted by Dallas on August 19, 2009
iPhone, Mac, Personal / 4 Comments

It is now official!

I no longer work for PayPal and I am now an independent Mac and iPhone developer!

Along with this change, me and my wife have decided to move us and our son back to Utah so we can be closer to family.

We move into our new place in Utah on Sept 1 (1 1/2 weeks from now).

We are really excited about both changes.