Apple warns that you can’t restore back to previous iOS version if you upgrade to iOS 5 on your developer device. Why? Apple only allows you to restore to the firmwares they ‘sign’. This ‘signing’ only lasts for a limited time. Once they stop ‘signing’ the SHSHs for a firmware, there is no way to restore that firmware ever again.

TinyUmbrella is a tool you can use to restore device iOS. TinyUmbrella which does not require you to be jailbroken. TinyUmbrella sends the SHSH request through Cydia’s servers which turn around and request the SHSH from apple. This results in your SHSH being saved on Cydia and then also locally on your home computer.

Upgrading Xcode projects from Xcode 3.x to Xcode 4.0 are not that simple. It does involve a lot of “detective” work like solving murder mystery.

In this case it happens on Facebook iOS SDK sample project. The codes work perfectly fine in Xcode 3 yet the same code won’t run in Xcode 4.0 Simulator. After trying many suggestions from Apple Developer Forum, I found the only working solution.

[EROR] No architectures to compile for (ARCHS=i386, VALID_ARCHS=armv6).

“No architectures to compile for” means “Valid Architectures” field is empty. Update it to $(ARCHS_STANDARD_32_BIT) and you’ll see the usual armv6 armv7. This happens in XCode 4 after updating “Base SDK” to “Latest SDK”.

Instruction:

Select Project in the Navigator left panel in Xcode 4

Select Targets

In Build Settings, enter VALID_ARCHS in the search box to show Valid Architectures

Even though there are many examples on how to use setAlternateColor: method to change the default UISwitch button from blue color to orange color, this is not recommended. Your app will be rejected if you use it.

The UISwitch class is not customizable.

You would have to build your own custom switch. It is in general difficult to subclass UIControl and reimplement UISwitch. There are other work around approaches to recreate Switch using png images.

By default, the idle timer will dim the screen after a period of non use and then turn the power to the screen off. You may need to disable idle timer on a specific app such as a Flash light app or location-based app.