我正在尝试构建包含配置文件的应用程序的开发版本(用于推送通知)并且无法安装它。我已经清除了所有证书,并按照http://docs.madewithmarmalade.com/native/platformguides/iosguide/iossigning/iossigningassetssetup.html的说法一步一步地重建它们。当我在mkb文件中包含iphone-provisioning-profile时,我已成功构建,但如果我尝试在iPhone 5 / iPad 3上安装它,则会发生安装错误。如果我构建没有provisionprofile文件的应用程序 - 安装过程正常。所有设备都上传了实际的.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和original中的.provisionprofile文件 - 有相同的。我该怎么办?
答案 0 :(得分:0)
解释使用橘子酱制作的iOS版本: -
开发构建
在进行开发构建时,您无需在部署工具或mkb中添加临时配置文件。设备需要在其中安装开发配置文件,或者需要嵌入到ipa中(只需在winrar中打开ipa并放入mobileprovision
文件,重命名为embedded.mobileprovision
)。这只是用于开发构建。
发布版
要创建发布版本,您需要从部署工具或mkb文件提供特定的发行版配置文件(而不是开发版本)。在mbk中包含配置文件会将构建转换为发布。最重要的是,即使在安装了开发配置文件的设备中,也无法使用ipcu
或iTunes
(关于任何其他方法的Dunno)安装版本构建。发布版本仅用于提交到应用商店。
所以重点是,如果您只是在设备中测试内置,请忽略配置文件部分。如果您实际上要将相同的版本提交到应用商店,则只包含该配置文件。