

This distribution is generally used by enterprises to distribute applications internally to their employees. In-house distribution:Įnterprise provisioning profiles issued by Apple permit the installation of applications on devices without configuring their UDIDs. This model allows developers to test their application on a wide range of devices. The developer has to supply the UDID of 100 devices during the subscription process. Ad Hoc distribution:Īd Hoc provisioning profiles issued by Apple are tied to the UDID’s of up to 100 other devices, including the iPad, iPhone or iPod touch. This model is used during single device testing. As it is tied to a particular device, the provisioning profile does not work on other devices. This provisioning profile allows running a developer’s application on the device. Single device distribution:ĭevelopment provisioning profiles issued by Apple are tied to a device’s UDID (Unique Device ID). Developers can apply for this program as an individual, company or university.īased on the provisioning profile, application distribution models are categorized as 5 types. Upon subscription to the iOS Developers Program, Apple issues a signed provisioning profile that configures the iOS device to permit the execution of code signed by a developer certificate. Mandatory Code Signing mechanism implemented in iOS requires that all the native code running on the device should be signed by a known or trusted certificate.

To test these types of applications on real devices, developers have to subscribe to Apple’s iOS Developer Program because the iPhone is only allowed to run Apple signed applications. Though simulators allow basic development and testing, it is not sufficient for many applications which require the use of full hardware power, performance and features which are only available on real devices. An iOS simulator compiles iOS applications to a local native code which is different from the Android emulator that compiles to ARM instructions. A simulator simulates an environment but it does not mimic many of the features and functionalities available on real devices. IOS developers use Apple Xcode developer tools and test their applications within the iOS simulator.

However, some of the techniques explained here can also be used with web-based iOS applications. This article mainly covers the pen testing methodology of native iOS applications. Native iOS applications- which are developed using Objective-C and Cocoa touch API.Web based applications – which uses JavaScript, CSS and HTML-5 technologies.The iPhone provides developers with a platform to develop two types of applications.
