forcedotcom/SalesforceMobileSDK-iOS — pull request #280 by khawkins (2013-04-18 00:32:42+00:00)
Title: Native, hybrid refactor.  Componentized, native bootstrap/auth configuration

This pull request is a combination of the native app / auth refactor, and the hybrid bootstrap refactor.

- Both native and hybrid parent app delegate classes (`SFNativeRestAppDelegate` and `SFContainerAppDelegate`) are gone. App delegates are defined at the app level now.

- `SFAuthenticationManager` is now a standalone component. It manages all auth and passcode duties. This is probably the most interesting focus of the review on the native side.

- On the hybrid side, `SFHybridViewController` takes over most of the heavy lifting, and it too is self-contained. Take a look at the `viewDidLoad` entry point, to see where things start for that component. Additionally, `SalesforceOAuthPlugin` now leverages SFHybridViewController as a business service, for its authentication functionality, since much of this is now required in both components.

**Miscellaneous**

- I moved the SDK version reporting into `SalesforceSDKConstants.h`, which will reflect the SDK version for both native and hybrid now.

- `SFRootViewManager` is a new class for displaying/managing "uber" views like the passcode screen and auth screen.

- `SFHybridViewController` can read its configuration from the filesystem, or have it staged during initialization, with an `SFHybridViewConfig` data object. The latter is demonstrated in the app delegate in the `HybridPluginTestApp` target of the hybrid SDK.