使用或不使用iTunes将.ipa文件安装到iPad上

162

我从PhoneGap Build获得了.ipa文件,需要对其进行测试。我从开发者账户获取了配置文件。

我的问题是:我是否可以直接将.ipa文件放到iPad上安装以进行测试,还是必须遵循某些规则来安装?


22
你可以使用TestFlight来安装应用程序,无需使用iTunes。或者只需上传你的ipa文件至http://www.diawi.com,然后在你的设备Safari浏览器中输入生成的链接并点击“安装”。 - Nayan
1
感谢@NSS。我花了几个小时都无法让iTunes正常工作,但diawi.com看起来很有前途,应用程序已经在安装过程中了。希望一切顺利。 - Moiz Tankiwala
3
使用了http://diawi.com,效果很好。从现在开始会一直使用它。 - geoyws
2
这里有一个 Mac 应用程序,它使用 Dropbox 分发 ipa 文件。http://tryappbox.com/ - Vineet Choudhary
这个对我有用:https://dev59.com/DF8e5IYBdhLWcg3wJXvm - tedi
使用 http://buildtry.com 上传 IPA 文件并分享链接给测试人员!非常简单。 - Arvind
26个回答

96
无需使用iTunesConnect共享您的adhoc构建。只需将ipa文件上传到diawi,上传成功后,您将获得一个链接,在Safari中打开链接,您将被要求安装应用程序。点击安装即可享受。

当你通过TestFlight发送应用程序时遇到错误时,这是一个不错的选择。 - Pawan Rai
即使您想要发送ipa文件进行下载,此选项也适用。无需在邮件中附加它们。用户可以通过在浏览器中打开链接来下载。 - Pawan Sharma
2
应用程序包中未找到任何供应配置文件。 - William Entriken
1
@FullDecent 请再次尝试上传您的构建。有时Diawi会无缘由地显示此错误。 - Pawan Sharma
@fossilet 你的ipa文件大小是多少? - Pawan Sharma
显示剩余5条评论

80

在 Xcode 5 中打开组织者(窗口 > 组织者),并选择顶部的“设备”。您插入的设备应该显示在左侧。将 IPA 文件拖到该设备上。

在 Xcode 6 和 Xcode 7 中打开设备(窗口 > 设备)。同样,您的设备应该出现在左侧栏中。将 IPA 文件拖到“已安装应用程序”下面的应用程序列表中。

对于 iOS 9 设备,请参考此帖子以了解如何在执行此操作后运行该应用程序。


1
很棒的解决方案。当你不想同步iTunes或者上传到第三方平台来将其放在设备上时,这就非常完美。非常准确。 - mylogon
1
在Xcode 11中,它是“窗口”>“设备和模拟器”。感谢解决方法! - displacedtexan

62

是的,您可以在iPad上安装IPA,首先您需要将该IPA导入到您的iTunes中。将您的iPad连接到iTunes,然后只需点击安装应用程序,然后同步即可。


1
我在VirtualBox中安装了Windows 7,并安装了iTunes版本12。然后下载了ipa文件(在我的情况下是VLC的旧版本),并将其拖放到iTunes中。然后,为了同步,我必须将应用程序图标拖放到我的设备(一台旧iPad)上,在我的虚拟Windows 7中列出的iTunes中。成功了!谢谢。 - erik
2
我听说iTunes 12.7移除了应用程序部分。最新版本的iTunes还能使用这个功能吗? - Jenna Sloan
1
这可能不再是首选方法,因为iTunes即将消失。首选方法是上传到diawi.com。 - Michael Fever
@JennaSloan - 确实。我刚刚下载了12.10版本,以便通过iTunes安装旧的iPad应用程序,但没有应用程序部分。我使用了Diawi网站尝试安装。 - bob.mazzo

39

有四种方法,我都进行了测试:

  • Test Flight

  • 从iTunes安装 - 创建.ipa文件以ad-hoc方式并与iPad和iTunes正常同步。

  • 或者你可以在创建ipa时选择企业版本并创建带有plist的索引文件,这是最佳的方法。这也适用于个人开发者账户。

  • Diawi


个人开发者账户还能使用选项3吗?我知道企业账户仍然可以。 - Gil Sand
5
请注意,testflightapp.com已于2015年2月26日关闭。 - Stan James

22
你还可以查看ios-deploy
运行ios-deploy -b path/to/ipa/file就像这样简单。
它甚至可以使用path/to/project.app,如果你是在本地进行cordova/phonegap构建,则应该位于相同的位置。
干杯!

这个可以快速从Mac OS转到iOS。 - Andrew Paes

20

您可以使用Xcode安装IPA文件

  • 打开Xcode
  • 在顶部菜单栏选择窗口,然后选择设备和模拟器
  • 将您的IPA文件拖放到应用程序部分

输入图像描述

这将在您的设备上安装应用程序。


8

在使用Xcode 8时,先将iPhone连接到电脑上,然后打开窗口->设备。 在左侧导航中,选择已连接的iPhone。 点击已安装应用程序下方的+号。 浏览需要安装的ipa文件。 选择并打开以安装应用程序。


7
您可以创建用于Ad Hoc分发的ipa文件,并使用diawi创建iPad的链接。只需上传.ipa文件和配置文件,即可生成链接,然后您可以从iPad访问它以安装应用程序(如果配置文件是用于开发,则必须将您的iPad的UDID添加到其中)。

7

这应该是默认方式,无需使用iTunes。谢谢。 - Thein

6

iPhone不允许直接安装ipa文件,因此提供直接链接到ipa文件是没有用的。这就是为什么有些人使用提供链接或qcode安装ipa的外部服务。

另一个选项,其他回答中没有人提到,完全独立于iTunes或任何外部服务,就是创建自己的脚本,生成安装链接并自动将其发送到您的手机(例如通过电子邮件)。我为个人使用创建了这样的脚本,它:

  1. 创建html文件;
  2. 创建plist文件;
  3. 将ipa、html和plist文件复制到我的服务器上;
  4. 向我发送链接。

因为我在Linux上工作,所以我创建了一个Bash脚本。您可以使用任何其他脚本语言,但重要的是要知道在html和plist文件中放置什么。

这是我脚本中生成html和plist内容的部分。我希望这足够清晰明了:

sha=`sha1sum ${ipa} | awk '{ print $1 }'`
output=${sha}-${AppName}-${version}.ipa
html=${sha}-${AppName}-${version}.html
plist=${sha}-${AppName}-${version}.plist

# Generates html
echo "<!DOCTYPE html>
 <html>
 <head>
 <meta charset=\"UTF-8\">
 <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">
    <meta name=\"MobileOptimized\" content=\"width\" />
    <meta name=\"HandheldFriendly\" content=\"true\" />
    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />
    <meta http-equiv=\"cleartype\" content=\"on\" />
 <title>Install ${AppName} ${version}</title>
 </head>

 <body>
   <h1><a href=\"itms-services://?action=download-manifest&url=${serverUrl}${plist}\">
     Install </a></h1>
 </body>

 </html>" > ${html}

# Generate plist
echo "<?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>${serverUrl}${output}</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>full-size-image</string>
                    <key>needs-shine</key>
                    <true/>
                    <key>url</key>
                    <string>${serverUrl}Icon%402x.png</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>display-image</string>
                    <key>needs-shine</key>
                    <true/>
                    <key>url</key>
                    <string>${serverUrl}Icon.png</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>${bundle}</string>
                <key>bundle-version</key>
                <string>${version}</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>${AppName}</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>" > ${plist}

这里有一个简单的例子可供参考:https://github.com/Saleh7/ipa-install


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接