<div dir="ltr"><div>On Wed, Aug 6, 2014 at 4:15 PM, John Bradley <span dir="ltr"><<a href="mailto:ve7jtb@ve7jtb.com" target="_blank">ve7jtb@ve7jtb.com</a>></span> wrote:<br></div><div><div class="gmail_extra"><div class="gmail_quote">



<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Can people comment on what needs to be passed to uniquely identify an app on iOS , Android and Windows mobile.<br></blockquote><div><br></div>For iOS it is the bundle identifier. These are globally unique within the Apple ecosystem.  I verified this by attempting to create a new app using a known bundle identifier of another app, and got the error: "The Bundle ID you entered has already been used.".<div>


<br></div><div>The bundle identifier is passed by the OS during inter-app communication in the <a href="https://developer.apple.com/library/ios/documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/application:openURL:sourceApplication:annotation:" target="_blank">UIApplicationDelegate/application:openURL:sourceApplication:annotation:</a>  method which can be used to restrict which apps you interact with. This has applications similar to whitelisting javascript origins and redirect URIs.</div>


<div><br></div><div>On Android, the package name – very similar in concept to the iOS bundle identifier – is also globally unique (<a href="http://developer.android.com/guide/topics/manifest/manifest-element.html#package" target="_blank">docs</a>). Two apps on the Play Store cannot have the same package name.</div>


<div><br></div><div>As Android allows apps from unknown sources, the OS level assertion of the bundle identifier is less authoritative than on iOS, which is why it may be advisable to also verify the application signature. It is theoretically possible to distribute an iOS app with a conflicting bundle identifier, but it would have to be distributed outside the App Store which is hard (Enterprise, AdHoc or development builds – none which can achieve wide distribution).</div>

<div><br></div><div>William</div></div></div></div></div>