11

我正在使用Phonegap CLI 3.1XCode5。我想通过命令行为 iPhone 应用程序生成发布版本,我有有效的分发证书移动配置文件。我想完全通过命令生成发布版本,不想使用 XCode GUI 或 Phonegap Build。我对 xcodebuild、xcrun 甚至 corodva 构建命令进行了太多尝试,但它们都没有为我提供发布构建文件(.app 格式或 .ipa 格式)。

方法一(使用xcodebuild)

a) xcodebuild -project MyApp.xcodeproj -alltargets -sdk iphoneos7.0 PROVISIONING_PROFILE="PROFILE_UUID.mobileprovision" -configuration Release

** BUILD FAILED **
以下构建命令失败:

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次失败)


方法 2(使用 corodova build 和 xcrun 对应用程序进行签名)

a) cordova build ios -release

通过命令“/Users/Macuser/Desktop/MyApp/platforms/ios/cordova/build”在平台“ios”上编译应用程序--release平台“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

4

2 回答 2

10

问题是你没有合适的计划。生成 phonegap 项目时,它不包含任何方案,因此链接到 phonegap 文件是不正确的。

在控制台中转到 phonegap 生成的项目并将“ xcodebuild -list ”放在输出中,您将得到项目中没有方案。

打开由 xcode 中的 phonegap 项目生成 - 这将生成方案。

现在您可以使用 xcodebuild 构建它(请记住填写正确的方案名称):

xcodebuild -scheme YOURSCHEMENAME -project MyApp.xcodeproj -alltargets -sdk iphoneos7.0 PROVISIONING_PROFILE="PROFILE_UUID.mobileprovision" -configuration Release

对于持续集成,这是一个糟糕的解决方案,因为您必须启动 xcode GUI 来生成方案,但我没有找到任何其他解决方案来解决这个问题。如果有人知道如何使用命令行生成方案,他会很高兴把它写下来。

于 2013-11-15T17:13:35.477 回答
-3

首先,您需要在 iTunes Connect 中创建您的应用程序(位于您的 iOS 开发者帐户的会员中心)。如果您已经创建了配置文件和证书,则可以在 iTunes Connect 中选择正确的。在这里,您可以为您的应用命名、设置价格、编写描述以及上传屏幕截图和一个大图标。确保填写所有信息并为您的应用上传所有图片。当您完成后,您将知道您的应用程序状态更改为“等待上传”。

在 iTunes Connect 中成功创建应用程序后,要在 Xcode 中生成用于分发的 .IPA 文件(用于 AppStore 或 Ad-Hoc),您需要在文件树中选择您的项目(在树的顶部) . 然后确保选择右侧的“目标”。

选择“构建设置”。然后转到代码签名部分。对于“发布”,确保选择了正确的 iPhone 分发标识或配置文件。

在“Release”下方应该显示“Any iOS SDK”。确保它旁边显示“IOS Distribution”。

如果您在钥匙串中有正确的证书和配置文件,您现在可以在顶部的菜单中选择产品 > 存档。

如果它没有构建,则按运行按钮来构建您的项目。Xcode 应该说它正在归档。

存档成功后,进入管理器。在顶部的菜单中,选择“窗口”>“管理器”。现在单击存档。

如果您的项目成功存档,您将在此处看到它。首先,您需要使用 iTunes Connect 验证您的项目。您需要输入您的 iOS 开发者登录信息。Xcode 5 在检测正确的配置文件方面做得很好,所以你应该在那里看到它。

如果您的应用通过验证,那么您可以将其分发到 App Store 或作为 Ad-Hoc 分发。取决于您拥有的个人资料。

这是分发 Native 或 Phonegap 应用程序的过程。没关系,我两个都建好了。

我建议这样做,以防您的应用程序无法验证。然后 Xcode 会告诉你需要做什么来修复。然后,一旦您解决了所有问题。创建一个新存档并尝试直到它验证。

于 2013-11-12T06:56:55.823 回答