部署页面声明启动图像存储在root中。
但是,使用 FileExists 时,以下所有路径都会返回false ...
FileExists(TPath.GetHomePath + PathDelim + 'LaunchImage_320x480.png');
FileExists(TPath.GetHomePath + PathDelim + Application.Title + '.app' + PathDelim + 'LaunchImage_320x480.png');
FileExists(TPath.GetDocumentsPath + PathDelim + 'LaunchImage_320x480.png');
FileExists('' + 'LaunchImage_320x480.png');
FileExists('.\' + 'LaunchImage_320x480.png');
答案 0 :(得分:2)
启动图像应存储在与文档描述的应用程序相同的文件夹中。您应该能够使用NSBundle.pathForResource获取文件名。
uses
iOSapi.Foundation, Macapi.Helpers;
procedure TForm1.FormCreate(Sender: TObject);
var
FileName: string;
begin
FileName := NSStrToStr(TNSBundle.Wrap(TNSBundle.OCClass.mainBundle).pathForResource(NSSTR('Default'), NSStr('png')));
//....
end;
技巧可能是启动映像的文件名不一定与IDE中的文件名相同。您可以列出应用程序中的所有文件,如下所示:
uses
iOSapi.Foundation, Macapi.Helpers, System.IOUtils;
procedure TForm1.Button1Click(Sender: TObject);
var
FileName: string;
files: TStringDynArray;
AppFolder: string;
I: Integer;
begin
AppFolder := NSStrToStr((TNSBundle.Wrap(TNSBundle.OCClass.mainBundle).bundlePath));
Files := TDirectory.GetFiles(AppFolder);
for I := 0 to Length(Files) - 1 do
Memo1.Lines.Add(ExtractFileName(Files[I]));
end;
您还可以使用像DiskAid这样的工具来查看Windows上的iOS应用程序文件夹。
答案 1 :(得分:1)
默认图像存储在此目录中(您可以使用MacOS上的终端找到它)
DirPath := TPath.Combine(TPath.GetHomePath, Application.Title + '.app');
如果您要求如何找到自上传文件, 以下是指示:
Project
>主菜单中显示Deployment
。Add files
.\
更改为StartUp\Documents\
Connect to Remote Machine
按钮(几秒后,列Remote Status
应显示Missing
Deploy
按钮,等待Remote Status
成为Same
现在应该可以从您的应用程序代码访问该文件:
ImagePath := TPath.Combine(TPath.GetDocumentsPath, 'LaunchImage_320x480.png');
if FileExists(ImagePath) then
Image1.Bitmap.LoadFromFile(ImagePath);
编译代码在iOS设备或iOS模拟器中运行它。它应该工作,玩得开心!
备注:强>
.bmp
上传到iOS,因为我认为iOS不支持位图。