Friday, April 16, 2010

Deep dive into iPhone 4.0 features

Ramananda Shetty, member, Technology Consulting Group at Endeavour discloses the finer details of iPhone SDK 4.0

Even with the release of the iPhone SDK 4.0, the Sandbox feature of the iPhone apps remains same. Applications will still not be able to access third party application data, un-install other applications and neither does it provide any APIs to fetch the list of applications installed in the device.

Data Protection from Third Party App:
Applications that work with sensitive user data can now take advantage of the built-in encryption available on some devices to protect that data. When your application designates a particular file as protected, the system stores that file on-disk in an encrypted format. While the device is locked, the contents of the file are inaccessible to both your application and to any potential intruders. However, when the device is unlocked by the user, a decryption key is created to allow your application to access the file. 

Core Telephony:
Framework: CoreTelephony.framework [This was a private framework in previous OS versions]
Core Telephony framework provides interfaces for interacting with phone-based information on devices that have a cellular radio. Applications can use this framework to get information about a user’s cellular service provider. Applications interested in cellular call events can also be notified when those events occur. Even after making this framework public and providing multitasking, however, third party applications still cannot monitor and control the calls made from the device.
 CTCarrier: Gives information about the user's cellular service provider, the information such as whether the service provider will allow VOIP or not
CTCall:  This is used to get the identifier of the cellular call and its state (only useful if service provider wants to write an app)                 
CTCallCenter: Gives List of current calls and responds to state changes (Responses when app is active during the call, if app is in suspended state it gets one event for each call giving the current state when app becomes active )

About App states and transition from one state to another (will need Apple Developer login for access)
CTTelephonyNetworkInfo:  Responds to the change in the cellular service provider. For example  changing the SIM when app is active. 

Accessing the Calendar Event:
Framework: EventKit.framework, EventKitUI.framework
EventKit framework provides an interface to access the calendar events on user device. User can use this framework to get existing events and add new events to the user’s calendar. Calendar events can include alarms that user can configure with rules for when they should be delivered. EventKitUI framework will allow presenting the standard UI for viewing and editing events.
Apple Reference Link (will need Apple Developer login for access)

In App SMS:
Framework: MessageUI.Framework 
Enhancement to this framework allows user to compose and send the message from the third party app without using the specially formatted URL.

Local Notification:
User can schedule the notification local to the application. This process does not involve server. These notifications will be delivered to app whether app is running or not. Once the notification is scheduled the system will manage these notifications. 
Apple Reference Link (will need Apple Developer login for access)

Improvements towards making iPhone Enterprise Friendly
Mobile Device Management:
Deploying and managing enterprise applications will be lot more easier with iPhone OS 4. New Mobile Device Management APIs can be integrated with third-party solutions to wirelessly configure and update settings, monitor compliance with corporate policies, and even wipe or lock managed iPhone device.

Seems like this feature has not provided in the current Beta release. See the release note "Mobile Me" section. (will need Apple Developer login for access)

Wireless App Distribution:
iPhone OS 4 enables enterprises to securely host and wirelessly distribute in-house apps to employees over Wi-Fi and 3G. Apps can be updated without requiring users to connect to their computers.

SSL VPN Supports:
SSL VPN support in iPhone OS 4 gives users another way to securely access enterprise resources. These new protocols can even be leveraged to connect seamlessly to a corporate network via VPN on Demand. Forthcoming apps from Juniper and Cisco will support SSL VPN on iPhone.

With the multitasking support for the new OS release iPhone apps can do few of the processes from the background but not all. Application can finish the current task before going to suspended states giving the expiry time period. Local Notification is an advantage of background process. 

No comments: