2016-05-11 3 views
1

у нас есть много встроенных приложений и вы хотите приложение, такое как AppStore. Мы сделали демоверсию. Мы можем открывать установленные приложения, но приложения, не установленные на iPhone, не могут быть загружены с наших серверов на iPhone.Загрузите приложение из другого приложения программно

Мы делаем:

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

То, что мы делаем, чтобы найти причину:

  1. копипаст Plist URL в Mac Safari и я проверить PLIST и это правильно все (ипа ссылки и другие). Все они на одном пути.
  2. Скопируйте только адрес ipa. Он начал загружаться на Mac.
  3. копипаст ипа URL с itms-services://?action=download-manifest&url=, он говорит

Там нет приложения установить, чтобы открыть URL ...... ипа Поиск App Store для приложения, которое может открыть этот документ , или выберите существующее приложение на вашем компьютере.

Как это можно решить?

.plist:

<?xml version="1.0" encoding="UTF-8"?> 

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 

<plist version="1.0"> 
<dict> 
    <key>items</key> 
    <array> 
     <dict> 
      <key>assets</key> 
      <array> 
       <dict> 
        <key>kind</key> 
        <string>software-package</string> 
        <key>url</key> 
        <string>https://....../AppName.ipa</string> 
       </dict> 
      </array> 
      <key>metadata</key> 
      <dict> 
       <key>bundle-identifier</key> 
       <string>com.company.AppName</string> 
       <key>bundle-version</key> 
       <string>1.3</string> 
       <key>kind</key> 
       <string>software</string> 
       <key>title</key> 
       <string>AppName</string> 
      </dict> 
     </dict> 
    </array> 
</dict> 
</plist> 
+0

- ваш файл manifest.plist, размещенный на сервере с поддержкой SSL? если нет, это не сработает. –

ответ

1

Ваш файл plist должен быть размещен на HTTPS SSL включен только служить в противном случае вы не можете установить его.

Я приложил образец manifest.plist файл с образцами данных, вы можете изменить его с помощью оригинала.

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>items</key> 
    <array> 
     <dict> 
      <key>assets</key> 
      <array> 
       <dict> 
        <key>kind</key> 
        <string>software-package</string> 
        <key>url</key> 
        <string>https://127.0.0.0/app/App.ipa</string> 
       </dict> 
       <dict> 
        <key>kind</key> 
        <string>display-image</string> 
        <key>url</key> 
        <string>https://127.0.0.0/app/icon57.png</string> 
       </dict> 
       <dict> 
        <key>kind</key> 
        <string>full-size-image</string> 
        <key>url</key> 
        <string>https://127.0.0.0/app/icon512.jpg</string> 
       </dict> 
      </array> 
      <key>metadata</key> 
      <dict> 
       <key>bundle-identifier</key> 
       <string>com.companyname.appname</string> 
       <key>bundle-version</key> 
       <string>1.0</string> 
       <key>kind</key> 
       <string>software</string> 
       <key>title</key> 
       <string>Your application name</string> 
      </dict> 
     </dict> 
    </array> 
</dict> 
</plist> 

Вставьте следующие файлы в один каталог на своем сервере.

  • App.ipa
  • icon57.png
  • icon512.jpg
  • manifest.plist

Ваша загрузка URL должен выглядеть так.

itms-services://?action=download-manifest&url=https://127.0.0.0/app/manifest.plist 

Example Click here to download App.

Кроме того, убедитесь что ваш сервер поддерживает MIME тип application/octet-stream для ипа и text/xml для PLIST.

+0

Все они правильные, но одинаковые; ничего:/Я добавляю свой контент plist к вопросу. В приложении сейчас нет значка. – eceall

+0

Да, это сервер с поддержкой SSL и MIME-типы. – eceall

+0

он всегда пытается загрузить приложение inhouse с AppStore – eceall

 Смежные вопросы

  • Нет связанных вопросов^_^