我正在使用 Phonegap CLI 3.1 和 XCode5 。我想通过命令行为iPhone应用程序生成发布版本,我有有效的分发证书和移动配置文件。我想完全通过命令生成发布版本,不想使用XCode GUI或Phonegap Build。我用xcodebuild,xcrun甚至corodva build命令都做了太多尝试,但它们都没有为我提供发布版本文件(无论是.app格式还是.ipa)。
方法1(使用xcodebuild)
a) xcodebuild -project MyApp.xcodeproj -alltargets -sdk iphoneos7.0 PROVISIONING_PROFILE="PROFILE_UUID.mobileprovision" -configuration Release
**建筑失败** 以下构建命令失败:
CompileC build / MyApp.build / Release-iphoneos / MyApp.build / Objects-normal / armv7 / AppDelegate.o MyApp / Classes / AppDelegate.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0 .compiler
CompileC build / MyApp.build / Release-iphoneos / MyApp.build / Objects-normal / armv7 / MainViewController.o MyApp / Classes / MainViewController.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0 .compiler
CompileC build / MyApp.build / Release-iphoneos / MyApp.build / Objects-normal / armv7s / AppDelegate.o MyApp / Classes / AppDelegate.m normal armv7s objective-c com.apple.compilers.llvm.clang.1_0 .compiler
(3次失败)
a) cordova build ios -release
通过命令“/ Users / Macuser / Desktop / MyApp / platforms / ios / cordova / build”在平台“ios”上编译应用程序 - 发布平台“ios”编译成功。
b) xcrun -sdk iphoneos PackageApplication -v "build/Release-iphoneos/MyApp.app" -o "build/Release-iphoneos/MyApp.ipa" --sign "iPhone Distribution: NAME (ID)" --embed "PROFILE_UUID.mobileprovision"
error: Failed to read entitlements from '/tmp/iyibGn3aUv/Payload/MyApp.app
答案 0 :(得分:10)
问题是你没有适当的方案。当生成phonegap项目时,它不包含任何方案,因此链接到phonegap文件是不正确的。
在控制台中转到phonegap生成的项目并输入“ xcodebuild -list ” 在输出中,您将得到项目中没有方案。
在xcode中通过phonegap项目生成打开 - 这将生成方案。
现在您可以使用xcodebuild构建它(请记住填写正确的方案名称):
xcodebuild -scheme YOURSCHEMENAME - 项目MyApp.xcodeproj -alltargets -sdk iphoneos7.0 PROVISIONING_PROFILE =“PROFILE_UUID.mobileprovision”-configuration Release
对于连续集成,这是一个糟糕的解决方案,因为你必须启动xcode GUI来生成方案,但我没有找到任何其他解决方案来解决这个问题。如果有人知道如何使用命令行生成方案,那么将其写下来会很好。
答案 1 :(得分:-3)
首先,您需要在iTunes Connect中创建您的应用程序(这是在iOS开发者帐户的成员中心)。如果您已经创建了配置文件和证书,则可以在iTunes Connect中选择正确的配置文件和证书。您可以在此处命名应用程序,设置价格,编写说明,上传屏幕截图和大图标。确保填写所有信息并上传您应用的所有图片。您将知道完成后,您的应用状态将更改为“等待上传”。
在iTunes Connect中成功创建应用程序后,要在Xcode中生成要分发的.IPA文件(AppStore或Ad-Hoc),您需要在文件树中选择项目(在顶部那个树)。然后确保右侧选中“目标”。
选择“构建设置”。然后转到“代码签名”部分。对于“发布”,请确保选择了正确的iPhone分发标识或配置文件。
在'Release'下面,它应该说'Any iOS SDK'。确保它旁边显示“IOS Distribution”。
如果钥匙串中有正确的证书和个人资料,您现在可以在顶部的菜单中选择产品>存档。
如果没有构建,请按“运行”按钮构建项目。 Xcode应该说它是归档的。
成功存档后,转到管理器。在顶部的菜单中选择Window>组织者。现在点击档案。
如果您的项目已成功存档,您将在此处看到它。首先,您需要使用iTunes Connect验证项目。您需要输入您的iOS Developer登录信息。 Xcode 5在检测正确的配置文件方面做得非常好,所以你应该在那里看到它。
如果您的应用有效,那么您可以将其分发到App Store或作为Ad-Hoc分发。取决于您拥有的个人资料。
这是分发Native或Phonegap应用的过程。没关系,我已经建了两个。
如果您的应用无法验证,我建议您这样做。然后Xcode将告诉您需要做些什么来修复。一旦你解决了一切问题。创建一个新存档并尝试直到验证。