tags:

views:

623

answers:

3

I'm a newbie iPhone developer, writing an app that will kind of be the "mobile version" of a website.

I'm wondering whether it's possible to launch my app from a link in a website. So, for example, someone goes into our site in the iPhone Safari, clicks a link, and our app launches.

Is that possible?
If so can I also "pass parameters" to the app i'm launching? As in...
Clicking different links would allow them to get different stuff in the app at launch time.

Thanks!
Daniel

+7  A: 

Certain apps have URL schemes that will launch them. If an app has published this scheme (or if you dig around in their bundle) you can launch it. For example, a hypothetical twitter app might launch with a twitterapp://here+is+my+tweet URL. If you preload your app with the correct URL scheme, you can do this for yours, too.

Here's a sample URL scheme from the info.plist:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>com.standalone.cooltwitterapp</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>twitterapp</string>
        </array>
    </dict>
</array>
Ben Gottlieb
was going to answer the same. +1
Jacob Relkin
+1  A: 

Yes you can, using custom URI schemes. Do note, however, that clients without the app will not be able to use the links.

If so can I also "pass parameters" to the app i'm launching?

Again, yes. Once your app has registered for a given scheme it's all yours.

jensgram
+1  A: 

Also worth noting is that the application:handleOpenURL: method will be called when your app launches from a URL. Details at Apple's Docs.

bmalicoat