1

我正在尝试构建包含配置文件的应用程序的开发版本(用于推送通知)并且无法安装它。正如http://docs.madewithmarmalade.com/native/platformguides/iosguide/iossigning/iossigningassetssetup.html所说,我已经清除了所有证书并逐步重建它们。当我在 mkb 文件中包含 iphone-provisioning-profile 时,我已成功构建,但如果我尝试在 iPhone 5/iPad 3 上安装它,则会出现安装错误。如果我在没有配置文件的情况下构建应用程序 - 安装过程正常。所有设备都上传了实际的 .provisionprofile 文件,iOS 6.1.2。

Marmalade Makefile Builder v6.2.1 [336699]
Copyright (C) 2001-2012 Marmalade.
e:\Marmalade\6.2\s3e\makefile_builder\mkb.py --verbose=1 e:/Marmalade/6.2/examples/s3e/s3eIOSNotifications/s3eIOSNotifications.mkb --deploy-only
Building project: e:/Marmalade/6.2/examples/s3e/s3eIOSNotifications/s3eIOSNotifications.mkb
setting root dir: e:\marmalade\6.2\examples\s3e
loading mkf: [e:\marmalade\6.2\examples\s3e] 'ExamplesMain'
loading mkf: [e:\marmalade\6.2\extensions] 's3eIOSNotifications'
loading mkf: [e:\marmalade\6.2\modules] 'iwutil'
package is deprecated
adding package reference: C:\DOCUME~1\Owner\APPLIC~1\Marmalade\packages\6.2.1\libjpeg_6b
loading mkf: [C:\DOCUME~1\Owner\APPLIC~1\Marmalade\packages\6.2.1\libjpeg_6b] 'libjpeg'
adding package reference: C:\DOCUME~1\Owner\APPLIC~1\Marmalade\packages\6.2.1\libpng_1.2.34
loading mkf: [C:\DOCUME~1\Owner\APPLIC~1\Marmalade\packages\6.2.1\libpng_1.2.34] 'libpng'
package is deprecated
adding package reference: C:\DOCUME~1\Owner\APPLIC~1\Marmalade\packages\6.2.1\zlib_1.2.4
loading mkf: [C:\DOCUME~1\Owner\APPLIC~1\Marmalade\packages\6.2.1\zlib_1.2.4] 'zlib'
using build directory 'build_s3eiosnotifications_vc9'
adding PATH: e:\marmalade\6.2\s3e\gcc\bin
using gcc toolchain: arm-none-eabi-gcc []
using RVCT version: 5.2
adding PATH: E:\DS-5\bin
using RVCT from: E:\DS-5\bin
found app.icf in data dir
adding PATH: e:\marmalade\6.2\s3e\bin
Wrote file 'deploy_config.py'.
adding PATH: e:\marmalade\6.2\tools\gcc\mips\android_mips_windows\bin
using gcc_mips toolchain: mipsel-linux-android-gcc []
Wrote file 'linker_script'.
done
Doing: "Package" on Configuration Default to iphone
running s3e_deploy commandline: "e:\marmalade\6.2\s3e\python\python.exe" "E:\Marmalade\6.2\s3e\deploy\main.py" "-n" "--os" "iphone" "--arch" "arm" "e:\Marmalade\6.2\examples\s3e\s3eIOSNotifications\build_s3eiosnotifications_vc9\deploy_temp.py"
CWD=e:\Marmalade\6.2\examples\s3e\s3eIOSNotifications\build_s3eiosnotifications_vc9
Marmalade Deployment Tool v1.3
Copyright (C) 2001-2012 Marmalade
Licensed Platforms=NONE, current platform=iphone
WARNING: temporary folder already exists (e:\Marmalade\6.2\examples\s3e\s3eIOSNotifications\build_s3eiosnotifications_vc9\deployments\default\iphone\release.old)
deploying s3eIOSNotifications [0.0.1] [arm-release] for 'iphone' to folder: 'deployments\default\iphone\release\intermediate_files'
--> copying files ...
Not using generic splashscreens for iOS
--> updating s3e binary: compression=none signing=0 config-embedding=1
 [execute] s3e_mod.exe
--> performing custom deployment steps for: 'iphone'
Linking iOS loader with extension library s3eIOSNotifications
 [execute] ld64.exe
WARNING: No iPhone portrait splashscreen specified.  Using the generic splash screen.
WARNING: No iPad portrait splashscreen specified.  Using the generic splash screen.
WARNING: No iPad landscape splashscreen specified.  Using the generic splash screen
WARNING: Expanding smaller image (e:/marmalade/6.2/examples/resources/splashscreens\splash_640.png) to (768x1024)
 [execute] s3eRelocate
 [execute] mod_apple_loader.pyc
Embedding provisioning profile in app
signing with Developer entitlements: NOT for App Store
provisioning profile does not specify 'aps-environment' - push notifications and email will not work
App ID from info.plist: 38ZJGRK9WD.38ZJGRK9WD.com.findandtry.findandtry2
Provisioning profile app ID matches: 38ZJGRK9WD.com.findandtry.findandtry2
created temp.xcent
 [execute] codesign.exe
creating .app zip: deployments\default\iphone\release\s3eIOSNotifications.app.zip
adding app_dir to zip: deployments\default\iphone\release\intermediate_files\s3eIOSNotifications.app
creating IPA: deployments\default\iphone\release\s3eIOSNotifications.ipa
creating ipa: deployments\default\iphone\release\s3eIOSNotifications.ipa
adding app_dir to zip: deployments\default\iphone\release\intermediate_files\s3eIOSNotifications.app
SUCCESS (WITH WARNINGS): EVALUATION USE ONLY package written to 'e:\Marmalade\6.2\examples\s3e\s3eIOSNotifications\build_s3eiosnotifications_vc9\deployments\default\iphone\release' [took 4.16s]. This package is not licensed for commercial use

mkb 文件:#!/usr/bin/env mkb 文件 { s3eIOSNotifications.cpp }

subprojects
{
    ExamplesMain
    s3eIOSNotifications
}

assets
{
    (data)
}

deployments
{
    iphone-sign-for-distribution=0

    # Note the App/Bundle ID must be set to the same value as an app registered
    # through iTunes Connect or the app will not be recognised by Apple's APNs
    iphone-appid="38ZJGRK9WD.com.findandtry.findandtry2"

    # A provisioning profile, set up to use the same full app/bundle name, must
    # also be embedded or the app will not be able to retreive a token for
    # remote notifications.
    iphone-provisioning-profile="FindandTry.mobileprovision"
}

我正在使用 Marmalade 6.2.1,为 ARM 尝试了 RVCT 和 GCC 编译器,按原样构建了 s3eIOSNotifications 的标准示例。我探索 .ipa 文件并比较 .ipa 和原始文件中的 .provisionprofile 文件——它们是相同的。我应该怎么办?

4

1 回答 1

0

解释使用果酱制作的 iOS 版本:-

开发构建
进行开发构建时,您不需要在部署工具或 mkb 中添加临时配置文件。设备需要安装开发配置文件,或者需要嵌入到ipa中(只需在winrar中打开ipa并放入mobileprovision文件,重命名为embedded.mobileprovision)。那只是为了开发构建。

发布构建
要进行发布构建,您需要从部署工具或 mkb 文件中提供特定的发布配置文件(而不是开发配置文件)。只需在 mbk 中包含配置文件,就会将构建转换为发布。最重要的是,即使在安装了开发配置文件的设备中,您也无法使用ipcuiTunes(不知道任何其他方法)安装发布版本。发布版本仅用于提交到应用商店。

所以重点是,如果您只是在测试内置设备,请忽略配置文件部分。如果您实际上要向应用商店提交相同的构建,请仅包含配置文件。

于 2013-03-15T20:56:25.067 回答