2013-03-07 108 views
1

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

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" 
} 

我使用的是果酱6.2.1,都尝试RVCT和ARM的GCC编译器,按照原样构建s3eIOSNotifications的独立示例。我探索.ipa文件并比较.ipa和原始的.provisionprofile文件 - 有相同的。我该怎么办?

回答

0

解释的iOS构建使用的果酱制作: -

开发建设
当进行开发版本,你不需要添加一个临时配置文件,在部署工具或MKB。该设备需要安装开发配置文件,或者需要嵌入到ipa中(只需在winrar中打开ipa并将mobileprovision文件更名为embedded.mobileprovision)即可。这仅仅用于开发构建。

发行版
从让你需要提供具体的发布提供的个人资料发布版本(而不是开发一个),要么部署工具或MKB文件。只需在mbk中包含配置文件即可将版本转换为版本。最重要的是,即使在安装了开发配置文件的设备上,也无法使用ipcuiTunes(关于任何其他方法不知道)安装发布版本。发布版本仅用于提交给应用商店。

所以问题是,如果您只是在设备中测试版本,就忽略配置文件部分。只有包含配置文件,如果你真的要提交相同的构建应用程序商店。