【问题标题】:Over the air app installation is stopped working on iOS 9无线应用程序安装在 iOS 9 上停止工作
【发布时间】:2015-09-18 10:07:34
【问题描述】:

我已经用 iOS 9 升级了我的设备。我正在手动生成 plist 和 ipa 文件,但它突然停止在 ios 9 中安装,而它在 iOS 8 上运行良好。

下面

项 资产

            <dict>
                <key>kind</key>
                <string>software-package</string>
                <key>url</key>
                 <string>https://www.eg.com/urland.ipa</string>
            </dict>
            <dict>
                <key>kind</key>
                <string>full-size-image</string>
                <key>needs-shine</key>
                <true/>
                <key>url</key>
                 <string>https://www.eg.com/imageurl/iTunesArtwork.png</string>
            </dict>
            <dict>
                <key>kind</key>
                <string>display-image</string>
                <key>needs-shine</key>
                <true/>
                <key>url</key>
                 <string>https://www.eg.com/Icon.png</string>
            </dict>
        </array>
        <key>metadata</key>
        <dict>
            <key>bundle-identifier</key>
            <string>mob.test.profile.ios9fix</string>
            <key>bundle-version</key>
            <string>1.0</string>
            <key>kind</key>
            <string>software</string>
            <key>title</key>
            <string>My App name</string>
        </dict>
    </dict>
</array>

我在 diawi.com 上检查了我的事件,同样的事情正在发生。它不允许我下载应用程序。

【问题讨论】:

  • 从设备控制台获取错误信息。
  • @A-Live 无法下载应用程序 - 目前无法下载我的应用程序名称。
  • @PJR 你是否在 HTTPS 上托管它?
  • 是的,@Andy 这是 iOS 8 的要求,我们正在遵循它。
  • 也许这是苹果强迫我们使用TestFlight的方式

标签: ios objective-c ios9


【解决方案1】:

iOS 9 对清单信息变得更加严格:标签、 价值,或者别的什么。

我遇到了另一个问题。但我想也许会给你一些有用的信息。

找出原因的方法,最重要的一步是检查你的设备日志。它会显示安装错误信息。

I find the problem is that I mistake the bundle-identifier value.

我发现如果你弄错了 bundle-identifier 的值,iOS 9 将不允许你安装应用,但 iOS 8 或更低版本不会检查 bundle-identifier 的值。

来自我的 iOS 9 设备的安装错误信息:

20:40:09 ifeegoo itunesstored →  <Warning>: [Download]: Download task did finish: 8 for download: 2325728577585828282
20:40:09 ifeegoo itunesstored →  <Warning>: [ApplicationWorkspace] Installing download: 2325728577585828282 with step(s): Install
20:40:09 ifeegoo itunesstored →  <Warning>: [ApplicationWorkspace]: Installing software package with bundleID: com.***.***: bundleVersion: 1.01 path: /var/mobile/Media/Downloads/2325728577585828282/-1925357977307433048
20:40:09 ifeegoo itunesstored →  <Warning>: BundleValidator: Failed bundleIdentifier: com.***.**** does not match expected bundleIdentifier: com.***.*********
20:40:09 ifeegoo itunesstored →  <Warning>: [ApplicationWorkspace]: Bundle validated for bundleIdentifier: com.****.******success: 0
20:40:09 ifeegoo itunesstored →  <Warning>: LaunchServices: Uninstalling placeholder for app <LSApplicationProxy: 0x12677be70> com.****.*******(Placeholder) <file:///private/var/mobile/Containers/Bundle/Application/B62D8EA3-2052-4393-8A7E-3FD27228BFC2/2325728577585828282.app>
20:40:09 ifeegoo itunesstored →  <Warning>: LaunchServices: Uninstalling app <LSApplicationProxy: 0x12677be70> com.****.*****(Placeholder) <file:///private/var/mobile/Containers/Bundle/Application/B62D8EA3-2052-4393-8A7E-3FD27228BFC2/2325728577585828282.app>

注意日志(因为隐私,我隐藏了bundle ID。):

20:40:09 ifeegoo itunesstored →  <Warning>: BundleValidator: Failed bundleIdentifier: com.***.**** does not match expected bundleIdentifier: com.***.*********

解决这个问题最重要的是查看设备日志。

【讨论】:

  • for bundle 确定了它的一种补丁。
【解决方案2】:

这是我们正在使用的 .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>urlWhereIsYourIpaFile</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>bundleWithoutSpaces</string>
                <key>bundle-version</key>
                <string>1.0</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>nameOfApp</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

在一个 html 文件中,我们使用以下内容调用 plist:

<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/{some random chain}/example.plist">
           <img src="an image if you want" height="57" width="57" />
         </a>

我们的服务器中没有 SSL,因此我们所做的是将 .plist 上传到保管箱并共享链接,但如果您有 https,则可以毫无问题地使用该 url。

希望这会有所帮助,我们遇到的问题是我们的包标识符有空格,所以在 iOS 9 中它不起作用,但在删除空格后它仍然像往常一样工作

【讨论】:

  • itms-services://?action=download-manifest&url=myurl.net/build/iphone/eg/2015/092015/myApp/myApp.plist
  • 以上是我正在使用但无法安装的路径。
  • 您的网站是否运行 SSL ?我们还发现新的 Xcode 7.0 在应用程序的配置文件中存在一些错误,如果您更新到 7.0.1 可能会起作用。
猜你喜欢
  • 1970-01-01
  • 2014-01-08
  • 1970-01-01
  • 2016-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多