gpt4 book ai didi

delphi - 如何从命令行部署 OSX 或 IOS Delphi 项目?

转载 作者:行者123 更新时间:2023-12-03 15:00:31 26 4
gpt4 key购买 nike

我正在使用像

这样的脚本构建我的 Delphi 应用程序
call "C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\bin\rsvars.bat"
msbuild.exe "C:\Projects\Foo\Bar.dproj"

现在我想添加一个选项来将应用程序部署到修改此类脚本的 OSX(或 IOS)系统,因此可以从命令行部署 OSX 或 IOS Delphi 项目吗?

最佳答案

要将应用程序部署到远程位置,您必须使用paclient.exe (Platform Assistant Client Application)工具。

为了获取传递的参数,从 RAD Studio 构建并运行您的项目,然后检查 IDE 消息窗口的 Build 选项卡。

使用名为 Local 的配置文件检查下一个图像中的 OSX 应用程序

enter image description here

从这里您可以提取传递给 paclient.exe 的所有参数

  • 删除主机中之前的文件(存在)

c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe --Clean="Project7.app,C:\Users\RRUZ\Desktop\Test Deploy_@emb_.tmp"

_@emb_.tmp 文件是由 ide 创建的临时文件,其中包含要部署的所有文件,在本例中内容如下

Project7.app\Contents\MacOS\Project7.rsm
Project7.app\Contents\Entitlements.plist
Project7.app\Contents\MacOS\libcgunwind.1.0.dylib
Project7.app\Contents\MacOS\Project7
Project7.app\Contents\Resources\Project7.icns
  • 将 Info.plist(包含 .app 的设置信息,如使用的图标和版本)文件复制到主机

c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe --put="OSX32\Debug\Project7.info.plist,Project7.app\Contents\,1,Info.plist" Local

  • libcgunwind.1.0.dylib文件(库)复制到主机

c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\11.0\Redist\osx32\libcgunwind.1.0.dylib,Project7.app\Contents\MacOS\,1,libcgunwind.1.0.dylib" Local

  • 将捆绑程序复制到主机

c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe --put="OSX32\Debug\Project7,Project7.app\Contents\MacOS\,1,Project7" Local

  • 将远程调试符号文件复制到主机

c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe --put="OSX32\Debug\Project7.rsm,Project7.app\Contents\MacOS\,1,Project7.rsm" Local

  • 将项目图标复制到主机

c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\11.0\bin\delphi_PROJECTICNS.icns,Project7.app\Contents\Resources\,1,Project7.icns" Local

  • 将 Entitlements.plist 文件复制到主机

c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe --put="OSX32\Debug\Project7.entitlements,Project7.app\Contents\,1,Entitlements.plist" Local

最终脚本

最后你可以将所有这些放入脚本文件中,如下所示

call "C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\bin\rsvars.bat"
MSBuild Project7.dproj
"c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --Clean="Project7.app,C:\Users\RRUZ\Desktop\Test Deploy\files.txt"
"c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="OSX32\Debug\Project7.info.plist,Project7.app\Contents\,1,Info.plist" Local
"c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="c:\program files (x86)\embarcadero\rad studio\11.0\Redist\osx32\libcgunwind.1.0.dylib,Project7.app\Contents\MacOS\,1,libcgunwind.1.0.dylib" Local
"c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="OSX32\Debug\Project7,Project7.app\Contents\MacOS\,1,Project7" Local
"c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="OSX32\Debug\Project7.rsm,Project7.app\Contents\MacOS\,1,Project7.rsm" Local
"c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="c:\program files (x86)\embarcadero\rad studio\11.0\bin\delphi_PROJECTICNS.icns,Project7.app\Contents\Resources\,1,Project7.icns" Local
"c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="OSX32\Debug\Project7.entitlements,Project7.app\Contents\,1,Entitlements.plist" Local

注意:请记住创建一个包含所有要部署的文件的文件名的文件,在此示例脚本中称为files.txt,该文件由 paclient 用于清理以前部署的文件。

关于delphi - 如何从命令行部署 OSX 或 IOS Delphi 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18321781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com