You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 16:57:36