需要为Ad-Hoc分发生成.ipa
文件。客户端只提供了证书,私钥和配置文件,足以创建.ipa
直到Xcode 5.但在Xcode 6.1中,当我导出为Save For Ad Hoc Deployment
时,它会给出消息
To save for Ad Hoc Deployment, you need to add an Apple ID account that is enrolled in the iOS Developer Program for the development team 'xxxxxxxxxx'
在没有开发者帐户凭据的情况下,有没有办法创建.ipa
?
答案 0 :(得分:83)
最后找到了一种使用xcodebuild命令创建.ipa
构建的方法。
Archive
。Show in Finder
。您可以在Finder中看到.xcarchive
文件。
打开Terminal
和cd
到.xcarchive
路径。
.ipa
文件。这将在桌面上保存.ipa
。
xcodebuild -exportArchive -exportFormat ipa -archivePath <FILE_NAME>.xcarchive -exportPath ~/Desktop/<FILE_NAME>.ipa
仍在寻找更好的解决方案,不知道为什么Apple从Xcode 6中删除了这个功能:(
答案 1 :(得分:36)
3 WAYS 可以创建.ipa 没有 命令&amp; Apple开发者帐户。
<强> 1。快速&amp;最好强>
(适用于所有Xcode,所有Mac OS,捆绑包可用于OTA链接,如Diawi)
(Command+B)
您的应用
XCode's
文件搜索中搜索.app
(这将在产品目录下).app
文件,然后选择 在Finder中显示 .app
复制到Payload目录。<强> 2。从组织者中提取.ipa
(适用于所有Xcode,所有Mac OS)
转到路径Products > Applications > YourAppFile
在Mac上打开iTunes,然后从应用标签中的上述路径拖放 YourAppFile 。 (注意:删除具有相同标识符的先前应用程序,如果有的话)
现在右键点击iTunes的应用标签下的应用,然后选择在Finder中显示,这是您的.ipa文件!!!
第3。对于拥有Xcode 5.x
的开发人员(注意: Xcode 5.x无法在El Capitan上运行,通过这种方式您可以使用任何Xcode进行存档,但您需要Xcode 5.x来创建.ipa)
Export
,点击标题为Save for Ad Hoc Deployment
Next
并选择所需的代码签名身份以保存.ipa 答案 2 :(得分:17)
您还可以使用Xcode 6&amp; D创建IPA文件。最新的以下步骤:
Command+B
YourApp.ipa
答案 3 :(得分:4)
没有完成所有命令行工作,还有更好的方法。
选择&#34;保存特别部署&#34; &安培;点击下一步。 然后打开&#34;选择一个开发团队&#34;落下。它将有选项&#34;使用本地歌唱资产&#34;在底部。选择此选项&amp;单击“选择”。
你走了。构建将由Xcode创建,不带Apple ID帐户。
答案 4 :(得分:2)
另一种解决方案是使用Xcode 5.1。
答案 5 :(得分:1)
从某些时候(例如Swift&amp; Xcode7)开始构建公式时更复杂 - xcodebuild需要exportOptionsPlist参数:
<?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>method</key>
<string>app-store</string>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
和app.plist包含:
case class ClassRoom(id:String, age:Int, name:String , kids: Set[String])
abstract class PersonModel extends CassandraTable[PersonModel, Person] {
override def tableName = "ClassRooms"
object id extends StringColumn(this) with PartitionKey[String]
object age extends DoubleColumn(this) with PrimaryKey[Double]
object kids extends SetColumn[String](this)