Download inhouse app from another app programmatically
<p>we have a lot of inhouse apps and want an app like AppStore. We did a demo. We can open installed apps but apps,not installed on iPhone, can't be downloaded from our servers to the iPhone.</p>

<p>We do: </p>

<pre><code>if([UIApplication sharedApplication] canOpenURL:..] == false){
    NSString *schemelink = [NSString stringWithFormat:@"itms-services://?action=download-manifest&amp;url=%@",**plist_url**];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:schemelink]]
}
</code></pre>

<p>The things that we do to find the reason:</p>

<ol>
<li>Copy-paste plist url to the Mac Safari and I check the plist and it's correct everything(ipa links and others). They all at the same path.</li>
<li>Copy-paste just ipa url. It started to download on Mac. </li>
<li>Copy-paste ipa url with <code>itms-services://?action=download-manifest&amp;url=</code>, it says </li>
</ol>

<blockquote>
  <p>There is no application set to open the URL ......ipa 
  Search the App Store for an application that can open this document, or choose an existing application on your computer.</p>
</blockquote>

<p>How can I solve it?</p>

<p>.plist:</p>

<pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;

&lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;

&lt;plist version="1.0"&gt;
&lt;dict&gt;
    &lt;key&gt;items&lt;/key&gt;
    &lt;array&gt;
        &lt;dict&gt;
            &lt;key&gt;assets&lt;/key&gt;
            &lt;array&gt;
                &lt;dict&gt;
                    &lt;key&gt;kind&lt;/key&gt;
                    &lt;string&gt;software-package&lt;/string&gt;
                    &lt;key&gt;url&lt;/key&gt;
                    &lt;string&gt;https://....../AppName.ipa&lt;/string&gt;
                &lt;/dict&gt;
            &lt;/array&gt;
            &lt;key&gt;metadata&lt;/key&gt;
            &lt;dict&gt;
                &lt;key&gt;bundle-identifier&lt;/key&gt;
                &lt;string&gt;com.company.AppName&lt;/string&gt;
                &lt;key&gt;bundle-version&lt;/key&gt;
                &lt;string&gt;1.3&lt;/string&gt;
                &lt;key&gt;kind&lt;/key&gt;
                &lt;string&gt;software&lt;/string&gt;
                &lt;key&gt;title&lt;/key&gt;
                &lt;string&gt;AppName&lt;/string&gt;
            &lt;/dict&gt;
        &lt;/dict&gt;
    &lt;/array&gt;
&lt;/dict&gt;
&lt;/plist&gt;
</code></pre>