Delphi跨平台自动化脚本iOS部署失败:缺少配置文件信息
问题
我正在构建用于编译和部署应用的自动化脚本,Windows和Android平台运行正常,但iOS平台可正常编译却无法部署,报错信息如下:
C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\CodeGear.Deployment.targets(696,5): error : Missing provisioning information. Mobile Provisioning Profile has not been specified for the "AppStore" platform configuration. [C:\Delphi\Projects\Tests\ShowMeTheMoney.dproj]
Done Building Project "C:\Delphi\Projects\Tests\ShowMeTheMoney.dproj" (Deploy target(s)) -- FAILED.
已确认paclient、证书等无问题,在IDE中按下Shift+Ctrl+Alt+F9可正常完成部署。尝试查看相关*.targets文件但未找到线索,请问应在何处设置正确的配置文件?
当前脚本代码:
@REM ////////////////////////////////////////// @REM ///////// BUILD INDIVIDUAL ////////// @REM ////////////////////////////////////////// @echo off set root=C:\Delphi\Projects set filepath=%~p1 set filename=%~n1 set logfile=%root%\.build\%filename%.log rem set logfile=con call "%root%\.build\rsvars.bat" call "%root%\.build\mobile_vars.bat" cd %filepath% %root%\.build\GetNextBuildNumber %filename% %filepath% IF %ERRORLEVEL% NEQ 0 ( goto :fail ) %root%\.build\ChangeVersion %1 "%filepath%%filename%_VersionInfo.txt" IF %ERRORLEVEL% NEQ 0 ( goto :fail ) if %PLATFORM%==Win32 ( set BTYPE=Normal ) ELSE ( set BTYPE=AppStore ) msbuild /t:Build /p:Config=Release /p:BT_BuildType=%BTYPE% %filename%.dproj /toolsversion:4.0 > %logfile% if %ERRORLEVEL% NEQ 0 ( goto :fail ) if %PLATFORM% NEQ Win32 ( msbuild /t:Deploy /p:Config=Release /p:platform=%PLATFORM% %filename%.dproj > %logfile% ) if %ERRORLEVEL% NEQ 0 ( goto :fail ) goto :success :fail if exist %logfile% ( start %logfile% ) else ( pause ) exit /b :success if exist %logfile% ( del %logfile% ) exit /b
解决方法
- 问题核心是Deploy阶段的msbuild命令缺少
BT_BuildType参数。你在Build阶段已经指定了/p:BT_BuildType=%BTYPE%,但Deploy阶段没有传递这个关键参数,导致iOS的AppStore配置找不到对应的描述文件。 - 修改Deploy阶段的msbuild命令,补充
/p:BT_BuildType=%BTYPE%参数,修正后的命令如下:msbuild /t:Deploy /p:Config=Release /p:platform=%PLATFORM% /p:BT_BuildType=%BTYPE% %filename%.dproj > %logfile% - IDE能正常部署是因为它会自动读取项目中保存的BuildType配置,但命令行下的msbuild需要显式传递所有必要参数,否则会使用未配置描述文件的默认配置,从而触发报错。
内容的提问来源于stack exchange,提问作者Jose Eduardo
相关产品推荐
相关产品推荐

