简体   繁体   English

iOS 8 - 无法安装企业应用程序

[英]iOS 8 - Can't Install Enterprise App

Our company has an app that can be downloaded through a website using Enterprise Distribution. 我们公司有一个应用程序,可以使用Enterprise Distribution通过网站下载。

企业分销网站

In iOS 8 Beta 5, tapping the download link brings up the expected pop-up "(website) would like to install (App Name)". 在iOS 8 Beta 5中,点击下载链接会显示预期的弹出窗口“(网站)想要安装(应用程序名称)”。 Tapping 'install' on that dialog first causes the app to get stuck "Waiting..." 在该对话框上点击“安装”会导致应用程序卡住“等待......”

应用卡住等待

Until it finally indicates: "Unable to Download App (app name) could not be downloaded at this time." 直到它最终表明:“目前无法下载无法下载应用程序(应用程序名称)。”

无法下载应用程序

Installing works as expected using iOS 7. 安装使用iOS 7按预期工作。

Running the app from Xcode under iOS 8 works. 在iOS 8下从Xcode运行应用程序。

How do we support Enterprise Distribution iOS 8? 我们如何支持iOS 8企业分发?

Perhaps a change needs to be made to the Manifest file? 也许需要对Manifest文件进行更改? When I tried building the app in Xcode 6 Beta 7, the Enterprise Archival process did not prompt me to make a manifest file... 当我尝试在Xcode 6 Beta 7中构建应用程序时,Enterprise Archival进程没有提示我制作清单文件......

Looking through the console of the phone whist attempting to install one of my apps, I discovered: 通过手机控制台试图安装我的一个应用程序,我发现:

Sep  9 12:16:56 iPhone misagent[94] <Error>: attempt to install invalid profile: 0xe8008011
Sep  9 12:16:56 iPhone installd[40] <Error>: 0x100484000 -[MIInstallableBundle _installEmbeddedProfileInBundle:]: Could not install embedded profile: 0xe8008011 (Expired)

Reasons unbeknown to me, apple invalidated half of my profiles and failed to alert me. 我不知道的原因,苹果使我的一半个人资料无效并且没有提醒我。 After going into developer.apple.com find any invalid profiles: 进入developer.apple.com后找到任何无效的配置文件:

Hit Edit - > Generate -> Download Rebuild the application with the new profile. 点击Edit - > Generate - > Download使用新配置文件重建应用程序。

However - The bad news still at least one of my apps is failing to install. 然而 - 坏消息仍然至少有一个我的应用程序无法安装。 Looking through the console gives me nothing. 透过控制台看我没什么。 I am convinced this is an apple bug so have filed a radar: 17622725 我确信这是一个苹果虫,所以提出了雷达:17622725

I hope your issue is a profile problem otherwise we may have to wait until tonight 1800GMT to see if apple have fixed it. 我希望你的问题是个人资料问题,否则我们可能要等到今晚1800GMT,看看苹果是否已经修好了。

EDIT 编辑

With iOS8 GM - I just get Waiting... - I will keep you informed with the bug report progress. 使用iOS8 GM - 我只是Waiting... - 我会告诉你bug报告的进展情况。

EDIT 编辑

After troubleshooting a few of fixes have been found: 在排除故障后,发现了一些修复:

Fix 1 修复1

As of iOS8, if the images you are linking to in the manifest plist do not exist - Apple will not install the application on the phone - The manifest being the file that you link to on the download page: itms-services://?action=download-manifest&url={url} 从iOS8开始,如果您在清单plist中链接的图像不存在 - Apple将不会在手机上安装应用程序 - 清单是您在下载页面上链接到的文件: itms-services://?action=download-manifest&url={url}

Make sure both full-size-image and display-image exist: 确保存在full-size-imagedisplay-image

<dict>
    <key>kind</key>
    <string>full-size-image</string>
    <key>needs-shine</key>
    <true/>
    <key>url</key>
    <string>https://{path_to_real_image}</string>
</dict>
<dict>
    <key>kind</key>
    <string>display-image</string>
    <key>needs-shine</key>
    <true/>
    <key>url</key>
    <string>https://{path_to_real_image}</string>
</dict>

Fix 2 修复2

Enterprise applications will not install if they existed previously on iOS7 due to a bug with iOS8. 如果由于iOS8的错误,以前在iOS7上存在企业应用程序将无法安装。 An error appears in the console: 控制台中出现错误:

Ignore manifest download, already have bundleID: {bundle_id}

This can be fixed by temporarily changing the bundleID in the manifest file, but apple are aware as they marked the bug report as duplicated. 这可以通过临时更改清单文件中的bundleID来解决,但是Apple知道它们将错误报告标记为重复。 After internal tests you an also fix the problem by resting the home screen layout General -> Reset -> Reset Home Screen Layout 在内部测试后,您还可以通过停留主屏幕布局General -> Reset -> Reset Home Screen Layout

Fix 3 修复3

If you see the application get into the installing... stage as opposed to loading... almost certainly the problem is the embedded provisioning profile has expired, to fix the download you will need to re-archive you application with a new, updated provisioning profile. 如果您看到应用程序进入installing...阶段而不是loading...几乎可以肯定问题是embedded provisioning profile已过期,要修复下载,您需要使用新的更新归档应用程序,更新供应资料。

Fix 4 修复4

If you see the application get to the installing... stage and your provisioning profile is valid - Download the application whilst attached to your console. 如果您看到应用程序进入installing...阶段并且您的provisioning profile有效 - 在连接到控制台时下载应用程序。 (Xcode 6 > Window > Devices > Bottom Left Button [v]), You will probably find that the install failed with Verification Stage Failed a little below will be the error message. (Xcode 6> Window> Devices> Bottom Left Button [v]),您可能会发现安装失败并且Verification Stage Failed了一点将是错误消息。 In my case (Entitlements found that are not permitted by provisioning profile) - For this error goto developer.apple.com and update your App Identifier to include the correct service. 在我的情况下(Entitlements found that are not permitted by provisioning profile) - 对于此错误,请转到developer.apple.com并更新您的应用程序标识符以包含正确的服务。 For me App Groups needed to be enabled. 对我来说,需要启用App Groups Then regenerate your provisioning profile 然后重新生成provisioning profile

I got the same problem today: I couldn't install one of my Enterprise app on IOs8 (but on IOs7). 我今天遇到了同样的问题:我无法在IOs8上安装我的一个企业应用程序(但在IOs7上)。 After many hours of search, I finally read this message on the device console : 经过几个小时的搜索,我终于在设备控制台上阅读了这条消息:

<Warning>: LoadExternalDownloadManifestOperation: Ignore manifest download, already have bundleID: com.ecaste.Crew-Desk

After a long time of searching, I finally read this post : http://support.hockeyapp.net/discussions/problems/26683-not-able-to-download-apps-ios8-beta-5-autoupdate-manually-etc 经过长时间的搜索,我终于阅读了这篇文章: http//support.hockeyapp.net/discussions/problems/26683-not-able-to-download-apps-ios8-beta-5-autoupdate-manually-etc

And by the end I just changed the name of the plist and the link to download the ipa (probably the second is not needed), and finally the app gets installed. 到最后我只更改了plist的名称和下载ipa的链接(可能是第二个不需要),最后安装了应用程序。

Finally it seems that it was a Cache problem in IOs8 that considers the app was already installed (and that was not the case, I uninstalled it previously). 最后,似乎IOs8中的Cache问题认为应用程序已经安装(事实并非如此,我之前已将其卸载)。

Hope this help 希望这有帮助

Same error here, I have tried changing bundle-id, bundle-version, plist... but the error remains. 同样的错误,我尝试更改bundle-id,bundle-version,plist ......但错误仍然存​​在。

I know that this is a bit tricky, but this is the only thing that works for me: 我知道这有点棘手,但这是唯一对我有用的东西:

http://support.hockeyapp.net/discussions/problems/30194-ios8-workaround-can-break-today-extension?full_site=1#comment_35141099 http://support.hockeyapp.net/discussions/problems/30194-ios8-workaround-can-break-today-extension?full_site=1#comment_35141099

  1. Connect the device to a Mac or PC 将设备连接到Mac或PC
  2. Create a backup in iTunes 在iTunes中创建备份

  3. Install iExplorer: http://www.macroplant.com/iexplorer/ 安装iExplorer: http//www.macroplant.com/iexplorer/

  4. Start iExplorer, then select the demo mode 启动iExplorer,然后选择演示模式

  5. In the left sidebar, select Media, then open the Downloads folder, and delete all files in it 在左侧边栏中,选择“媒体”,然后打开“下载”文件夹,并删除其中的所有文件

  6. Restart the device 重启设备

  7. Open the download page and install the latest version of your app 打开下载页面并安装最新版本的应用程序

Indeed I omit the first two steps and it works perfect :) 事实上,我省略了前两个步骤,它的工作完美:)

I hope this helps 我希望这有帮助

Set Deployment Target Lower in 将部署目标设置为更低

Project > Build Setting > iOS Deployment Target 项目>构建设置> iOS部署目标

Targets > Build Setting > iOS Deployment Target 目标>构建设置> iOS部署目标

I just had this problem right now and it was caused by the mainfest plist (keys: full-size-image + display-image) are pointing at url image locations that do not exist. 我刚刚遇到这个问题,它是由mainfest plist(键:full-size-image + display-image)指向不存在的url图像位置引起的。

It looks like that iOS6/iOS7 are able to handle if the images do not exist but iOS8 is more restrictive about this. 看起来iOS6 / iOS7能够处理如果图像不存在但iOS8对此更具限制性。

Based on previous comments on the "ignore manifest download" message, we tried changing the bundle ID (ie com.companyName.AppName) in the .plist to have a unique name, to force iOS 8 to download/install it anyway. 根据之前对“忽略清单下载”消息的评论,我们尝试将.plist中的软件包ID(即com.companyName.AppName)更改为具有唯一名称,以强制iOS 8无论如何下载/安装它。 After it gets installed, it correctly replaces the existing copy. 安装后,它会正确替换现有副本。

I believe there are 2 problems going on here. 我相信这里有两个问题。 If the .plist on the https website pointing to the enterprise certificate signed .ipa file has a bundle-identifier matching an application that's already installed, it won't overwrite it. 如果https网站上指向企业证书签名.ipa文件的.plist具有与已安装的应用程序匹配的bundle-identifier,则不会覆盖它。 The bundle-version is different on all our .plist files, so it should install it anyway. bundle-version在我们所有的.plist文件中都是不同的,因此它应该安装它。 iOS 7 doesn't seem to have this issue. iOS 7似乎没有这个问题。 We plan to work around this issue by messing up the bundle-identifier in the plist so it's always unique to the build. 我们计划通过弄乱plist中的bundle-identifier解决这个问题,因此它始终是构建的唯一。

The second issue is that when it is successfully installing the application, it doesn't switch to the home screen or indicate it's doing anything at all. 第二个问题是,当它成功安装应用程序时,它不会切换到主屏幕或指示它正在做任何事情。 In iOS 7, after selecting the "Install" button at the prompt, would switch to the Home screen where the icon would be dark, and a progress indicator would show downloading progress. 在iOS 7中,在提示符下选择“安装”按钮后,将切换到图标为暗的主屏幕,进度指示器将显示下载进度。 Then the application would have a blue dot next to it indicating it was new. 然后应用程序旁边会有一个蓝点表示它是新的。 With iOS 8, it doesn't switch to the Home screen so it appears to be not working. 使用iOS 8时,它不会切换到主屏幕,因此它似乎无法正常工作。 You can manually go to the home screen, and you should see a dark icon with a progress indicator (now at a new location, because it doesn't know it will be replacing an existing application). 您可以手动转到主屏幕,您应该会看到带有进度指示器的暗图标(现在位于新位置,因为它不知道它将替换现有应用程序)。 After it downloads/installs successfully, it doesn't place the blue dot on the replaced application. 成功下载/安装后,它不会在替换的应用程序上放置蓝点。

Hope this helps. 希望这可以帮助。

This caused me huge pain. 这给我带来了巨大的痛苦。 I needed to install a new app OTA on just employee phones outside of an MDM solution. 我需要在MDM解决方案之外的员工电话上安装新的应用程序OTA。 I seemed to try every possible solution I could find on the internet and nothing worked. 我似乎尝试了在互联网上找到的所有可能的解决方案,但没有任何效果。 The closest I could get was for the app to get to the 'loading' stage. 我能得到的最接近的是应用程序进入“加载”阶段。 My solution has taken a week of work, trying different things. 我的解决方案需要一周的工作,尝试不同的事情。 I'm not sure which worked in which order and which would have worked anyway, but here's what I did: 我不确定哪种方式有效,哪种方式有效,但这就是我所做的:

In my case, I had previously built this app with a provisioning profile from a developer (as opposed to an Enterprise) account. 在我的情况下,我之前使用开发人员(而不是企业)帐户的配置文件构建了此应用程序。 In Xcode, I changed the Bundle Identifier to give it a new name, for example, it was originally com.mydomain.myapp and became com.mydomain.mysuperapp. 在Xcode中,我更改了Bundle Identifier以给它一个新名称,例如,它最初是com.mydomain.myapp并且变成了com.mydomain.mysuperapp。

Ensured code signing in the app was valid and included the distribution certificate for the Enterprise account 确保应用程序中的代码签名有效,并包含Enterprise帐户的分发证书

I had used the wrong provisioning profile (one with no identities associated) so, because I chose 'automatic' it built fine but was never going to install. 我使用了错误的配置文件(一个没有相关的身份)因此,因为我选择'自动'它构建得很好,但永远不会安装。 So, I changed code signing for Release to my distribution profile (rather than development profile) 所以,我将Release的代码签名更改为我的分发配置文件(而不是开发配置文件)

Made sure the app was set with a deployment target low enough for the devices that will download it 确保应用程序设置的部署目标足够低,以便下载它的设备

Archived the file & exported for Enterprise deployment 存档文件并导出以进行企业部署

Manifest must contain the 57x57 png and the 512x512 png image otherwise the install doesn't get past the 'waiting' stage 清单必须包含57x57 png和512x512 png图像,否则安装不会超过“等待”阶段

I created an index.html file that looked like this: 我创建了一个如下所示的index.html文件:

<html>
    <body>
        <a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/dw80wahlwupkyd5/MyApp.plist">
            Install Learning Chunks App from Dropbox</a>
    </body>
</html>

I had used a plist sample that I found online and it included some optional settings. 我使用过我在网上发现的plist样本,它包含了一些可选设置。 When I left these in, the download didn't work. 当我离开这些时,下载不起作用。 I took those out. 我拿出来了。 My manifest plist file was named: MyApp.plist and looked like this: 我的清单plist文件名为:MyApp.plist,看起来像这样:

<!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://dl.dropboxusercontent.com/s/r1bljbkcows7sje/mysuperapp.ipa</string>
                    </dict>
                    <dict>
                        <key>kind</key>
                        <string>display-image</string>
                        <key>needs-shine</key>
                        <true/>
                        <key>url</key>
              <string> https://dl.dropboxusercontent.com/s/ujk9ipcv2naltut/logo57.png</string>
                    </dict>
                    <dict>
                        <key>kind</key>
                        <string>full-size-image</string>
                        <key>needs-shine</key>
                        <true/>
                        <key>url</key>
                  <string>https://dl.dropboxusercontent.com/s/gpebomok83mp9d5/logo512.png</string>
                    </dict>
            </array>
            <key>metadata</key>
                <dict>
                    <key>bundle-identifier</key>
                    <string>com.mydomain.mysuperapp</string>
                    <key>bundle-version</key>
                    <string>1.0</string>
                    <key>kind</key>
                    <string>software</string>
                    <key>title</key>
                    <string>My Super App</string>
                    <key>subtitle</key>
                    <string>My Super App</string>
                </dict>
        </dict>
        </array>
    </dict>
</plist>

I uploaded the MyApp.plist, index.html, logo57.png, logo512.png and MyApp.ipa to DropBox. 我将MyApp.plist,index.html,logo57.png,logo512.png和MyApp.ipa上传到DropBox。 I shared the index.html with those who need to download the app. 我与需要下载应用程序的人共享了index.html。

The user can then click on the shared link in the email and the app should install. 然后,用户可以单击电子邮件中的共享链接,应该安装应用程序。

EDIT: The issue below is a red herring. 编辑:下面的问题是红鲱鱼。 As Dylan Hand mentioned above, the problem for me was that I had broken image links in the manifest file. 正如上面提到的Dylan Hand,我的问题是我在清单文件中破坏了图像链接。 Apparently this didn't matter for ios7 but ios8 won't finish the install if this is true. 显然这对ios7无关紧要,但如果确实如此,ios8将无法完成安装。 When I removed those reference, it worked perfectly. 当我删除这些参考时,它完美地工作。


I have the same set of symptoms as OP (ie. "Unable to download app" message but only on iOS 8). 我有与OP相同的一组症状(即“无法下载应用程序”消息,但仅限于iOS 8)。 When I try to validate (ie Organizer -> Validate), I receive the following message. 当我尝试验证(即管理器 - >验证)时,我收到以下消息。

验证结果的屏幕截图

This led me to this post: https://stackoverflow.com/a/25757196/751136 这导致我发表这篇文章: https//stackoverflow.com/a/25757196/751136

It claims that re-generating your provisioning profiles should result in a new entitlement called beta-reports-active . 它声称重新生成您的配置文件应该会产生一个名为beta-reports-active的新权利。 When I try to do this on in my enterprise account, the new profiles DO NOT have the new entitlement. 当我尝试在我的企业帐户中执行此操作时,新配置文件没有新的权利。 However, when I regenerate provisioning profiles in another non-enterprise account, the new profiles DO have that field. 但是,当我在另一个非企业帐户中重新生成配置文件时,新配置文件DO具有该字段。

If you build your iOS apps with a build script and you were previously using PackageApplication with the --sign flag then that may be causing problems. 如果您使用构建脚本构建iOS应用程序,并且之前使用的是带有--sign标志的PackageApplication,则可能会导致问题。 The --sign flag doesn't work any longer when building on 10.10 and removing it got all of our iOS apps installing again. 在10.10上构建时, - 标志标志不再起作用,删除它会让我们的所有iOS应用再次安装。

see: https://devforums.apple.com/thread/251624?tstart=0 请参阅: https//devforums.apple.com/thread/251624?tstart = 0

This issue drove me crazy, Only this helped for Enterprise Distribution: Perform all the required build settings and click on “Archive”. 这个问题让我抓狂,只有这对企业分发有所帮助:执行所有必需的构建设置并单击“归档”。 Perform the Enterprise Distribution Process. 执行企业分发流程。 You will be shown Organizer window. 您将看到管理器窗口。 On Mac machine locate the .xcacrchive file by selecting KRelease and choosing “Show in finder”. 在Mac机器上,通过选择KRelease并选择“Show in finder”找到.xcacrchive文件。

User is navigated to the folder where the .xcarchive file is located. 用户将导航到.xcarchive文件所在的文件夹。 Right-click the .xcarchive file and select “Show Package Contents” option. 右键单击.xcarchive文件,然后选择“显示包内容”选项。

In the opened finder window go to Products/Applications Select and copy the .app file 在打开的查找程序窗口中,转到产品/应用程序选择并复制.app文件

Create a new folder somewhere on your disk with the name “Payload” Note: The folder name is case-sensitive. 在磁盘上的某个位置创建一个名为“Payload”的新文件夹注意:文件夹名称区分大小写。 Paste the copied .app file into “Payload” folder. 将复制的.app文件粘贴到“Payload”文件夹中。 Compress the Payload folder to get Payload.zip file Rename the Payload.zip file to .ipa and bundle it with your .plist Done !!! 压缩Payload文件夹以获取Payload.zip文件将Payload.zip文件重命名为.ipa并将其与您的.plist捆绑! the .ipa file is ready to be installed on the devices registered in the provisioning profile used in the .xcarchive generation. .ipa文件已准备好安装在.xcarchive生成中使用的配置文件中注册的设备上。

I have sovled this problem. 我已经解决了这个问题。

  1. Since Apple has changed provisioning profiles, please RENEW the provisioning profiles (File 1) and copy it into the "Payload/". 由于Apple已更改配置文件,请更新配置文件(文件1)并将其复制到“Payload /”中。
  2. Make sure there's a Entitlements.plist (File 2) in the "Payload/", and this plist file MUST be PLAIN TEXT which is created by a text editor. 确保在“Payload /”中有一个Entitlements.plist(文件2),这个plist文件必须是由文本编辑器创建的PLAIN TEXT
  3. Make sure there's a Info.plist (File 3) in "Payload/", and this is created by XCode; 确保在“Payload /”中有一个Info.plist(文件3),这是由XCode创建的;
  4. Copy the Entitlements.plist (File 4) anywhere else except the "Payload/". 将Entitlements.plist(文件4)复制到除“Payload /”之外的任何其他位置。
  5. Be sure "Bundle identifier" in File 1-4 should be the same. 确保文件1-4中的“Bundle identifier”应该相同。
  6. Use this Entitlements.plist (File 4) to Re-Sign the IPA file. 使用此Entitlements.plist(文件4)重新签名IPA文件。

You can resign it like this 你可以像这样辞职

codesign -fs "iPhone Distribution: Your Company Name" --entitlements=/Users/SenTR/Downloads/codesign/Entitlements.plist /Users/SenTR/Downloads/codesign/Payload/Your_Project_name.app

Entitlements.plist sample Entitlements.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>application-identifier</key>
        <string>PREFIX.yourappBundleID</string>
        <key>aps-environment</key>
        <string>production</string>
        <key>get-task-allow</key>
        <false/>
        <key>keychain-access-groups</key>
        <array>
            <string>PREFIX.yourappBundleID</string>
        </array>
    </dict>
</plist>

If you know Chinese, this will be helpful. 如果你懂中文,这将有所帮助。

http://hennry.com/2015/03/fail-to-resign-ipa-since-ios8/ http://hennry.com/2015/03/fail-to-resign-ipa-since-ios8/

These answers are valid things to check, but in case anyone else has tried them like I did and STILL had problems, make sure your app contains the proper plist setting that allows the exported archive to be compressed correctly . 这些答案是有待检查的有效内容,但是如果其他人像我一样尝试过它们并且STILL有问题,请确保您的应用程序包含正确的plist设置,以便正确压缩导出的存档 This is what bit us, even after following all the steps above. 即使遵循了上述所有步骤, 也是我们的一点点。 Also of note, the answer that talks about ensuring the web site's plist contains valid image links doesn't seem to affect anything, at least for us using XCode 6.3 to export archives. 另外值得注意的是,关于确保网站的plist包含有效图像链接的答案似乎没有任何影响,至少对于我们使用XCode 6.3来导出存档。 It worked/didn't work irrespective of those links being correct. 无论这些链接是否正确,它都有效/无效。 It's obviously a good idea to have that info correct though. 尽管如此,让这些信息正确是一个好主意。 Another interesting note is if we exported using XCode 5, the ipa's were ALWAYS in the correct format (see linked SO article above); 另一个有趣的注意事项是,如果我们使用XCode 5导出,则ipa始终采用正确的格式(参见上面链接的SO文章); it seems XCode 6+ now is picky about it. 看来XCode 6+现在对它很挑剔。

我的问题通过删除所有内置的outut,然后完全重建得到纠正。

Yet another possible source of this installation issue is a case mismatch between the project and the provisioning profile (especially likely with automated or other command-line builds). 此安装问题的另一个可能来源是项目和配置文件之间的情况不匹配(特别是可能与自动或其他命令行构建)。 The bundle IDs are case-sensitive. 捆绑包ID区分大小写。 For example, if app bundle identifier in the provisioning profile is com.example.MyApp and the project configuration and/or Info.plist uses com.Example.Myapp , Xcode 7.1 will fail with a code signing error or fall back to a generic provisioning profile (one with * bundle id, which might itself be an issue) but xcodebuild command will succeed. 例如,如果配置文件中的应用程序包标识符为com.example.MyApp ,并且项目配置和/或Info.plist使用com.Example.Myapp ,则Xcode 7.1将失败并出现代码签名错误或退回到通用配置profile(一个带* bundle id,这可能本身就是一个问题),但xcodebuild命令会成功。 Jenkins will also upload the erroneously signed build to Hockeyapp for example. 例如,Jenkins还会将错误签名的构建上传到Hockeyapp。 The build will download to client devices but won't install because of the case mismatch. 构建将下载到客户端设备,但由于案例不匹配而无法安装。

Therefore, 因此,

Fix 0 修复0

Check that the application bundle identifier is set up the same way both in the project and on Apple Developer portal. 检查应用程序包标识符在项目和Apple Developer门户中的设置方式是否相同。

The simplest way to avoid this particular issue is to always use lower-case characters in your bundle identifiers. 避免此特定问题的最简单方法是始终在捆绑标识符中使用小写字符。 Copying bundle id from Apple Developer portal and pasting it into the project build settings ( PRODUCT_BUNDLE_IDENTIFIER ) also helps of course. 从Apple Developer门户复制捆绑包ID并将其粘贴到项目构建设置( PRODUCT_BUNDLE_IDENTIFIER )当然也有帮助。

Though I had the issue with an enterprise account, it might in fact be not specific to this type of distribution. 虽然我遇到了企业帐户的问题,但事实上它可能并不特定于此类分发。

Fix 0´ 修复0'

Make sure to check out Apple's technical note called Installation Failure Troubleshooting for iOS . 请务必查看Apple的名为Installation Failure Troubleshooting for iOS的技术说明。

My issue was that I had a space both in my ipa filename, and the reference to that ipa in my plist. 我的问题是我的ipa文件名和我的plist中对ipa的引用都有一个空格。 Removing the space in both allowed the installation 删除两者中的空间允许安装

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM