Titanium:无需设备即可生成 IPA

Posted

技术标签:

【中文标题】Titanium:无需设备即可生成 IPA【英文标题】:Titanium: generate IPA without device 【发布时间】:2014-03-07 16:55:08 【问题描述】:

我在 Macbook 上使用 Titanium 开发了一个 ios 应用。我需要创建 IPA 文件以允许其他测试人员在他们的设备上试用我的应用程序(通过 TestFlight)。我没有 iPhone 也没有 iPad,但根据网络上的大量文章,这根本不是问题。

但是,我需要一个配置文件,而且我无法在没有设备的情况下创建一个。

那么,我该如何编译?

【问题讨论】:

您不需要设备即可拥有配置文件。您只需要一个苹果开发者帐户。您需要一个分发证书、一个临时配置文件,并让您的测试人员在 TestFlight 上注册他们的设备。 @JosiahHester 我有开发帐户、开发和分发证书以及 appId。但是,当我尝试创建配置文件时,Apple 最终会要求提供设备,并提供其名称和 UDID。有没有其他方法可以得到它? Josiah 告诉了你需要做什么,我在下面的回答也告诉了你。如果有帮助,我在答案中添加了分步说明。 它要求的设备是测试设备,您需要在人们在 TestFlight 上注册这些设备后添加,如 Gavin 的回答中所述。 您也可以阅读指南 -- docs.appcelerator.com/titanium/3.0/#!/guide/… 【参考方案1】:

为了将其编译为可通过 TestFlight 安装在他们的设备上,您必须将他们的设备添加到您的帐户,然后将这些设备添加到配置文件中。然后您可以构建应用程序并将其上传到 TestFlight。

TestFlight 的工作方式是,当您将测试人员添加到您的团队时,它会向您发送他们的设备 UDID。然后您将转到 iOS 开发人员门户并将它们添加到您的设备列表中,然后您将(重新)创建配置文件并添加这些设备。

编辑:

我不知道为什么我的正确答案被否决了,但如果需要明确的步骤,这里是:

    创建 TestFlight 帐户 执行“添加应用程序”,以便您的应用程序进入 TestFlight 系统 邀请您的测试人员加入您的团队 等待您的测试人员接受,然后将他们的设备添加到他们的 TestFlight 帐户中 获取 TestFlight 发送给您的设备的 UDID,然后将这些设备输入到您的 iOS 开发者帐户中 使用您刚刚输入的那些设备创建您的配置文件 使用该配置文件创建您的 IPA 将您的 IPA 上传到 TestFlight 授予您的测试人员从 TestFlight 的“权限”选项卡下载构建的权限

我认为您做出了首先需要 IPA 的错误假设,这是不正确的。在您创建 IPA 之前,TestFlight 是首先获取测试设备的 UDID 的机制。之后,TestFlight 是您将应用程序分发给测试人员的机制。我和许多其他人已经多次完成上述步骤,您可以放心,您不必首先拥有 IPA,您只需在获得您的设备 UDID 之后创建它测试人员。

【讨论】:

您的回答完全正确,但这不是重点。问题问题较早,我什至没有让 IPA 与 TestFlight 共享。我知道每台设备都应该注册,但我没有 Apple 设备,所以我正在寻找一种方法来为其他拥有的设备进行编译。 为什么投反对票?并且@balanza,您不需要 IPA 立即在 TestFlight 中创建应用程序条目。你继续 TestFlight,创建你的应用程序,并邀请用户。在您邀请用户并且他们接受之后,您才能获得他们的 UDID。然后您返回 iOS 开发门户添加他们的设备,然后您可以创建配置文件,然后您可以创建 IPA,然后将其上传到 TestFlight。我说的不只是对,而是解决你的问题。 这是正确的。以及我为一百种不同的构建所遵循的方法。 +1 嗯好的,现在我明白你的意思了。谢谢【参考方案2】:

试试这个代码

ti build -p ios -T dist-adhoc

ti build -p ios --deploy-type production --ios-version 9.0 --keychain --target dist-adhoc --output-dir 

【讨论】:

以上是关于Titanium:无需设备即可生成 IPA的主要内容,如果未能解决你的问题,请参考以下文章

无需付费苹果开发者账号即可生成ipa

无需设备或“真实”模拟器即可接收 iPhone / Android 的推送通知

适用于 Android 和 iOS 设备的 Titanium Appcelerator 蓝牙模块 [关闭]

BLE 设备应无需扫描即可连接

无需打开插座即可连接蓝牙设备

无需 Root 设备即可访问 /System/bin/sh