3

部署页面状态启动图像存储在根目录中。

但是,使用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');
4

2 回答 2

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 应用程序文件夹。

于 2014-06-05T20:39:01.030 回答
1

默认图像存储在此目录中(您可以使用 MacOS 上的终端找到它)

DirPath := TPath.Combine(TPath.GetHomePath, Application.Title + '.app');

.

如果您询问如何查找自上传文件, 请参阅以下说明:

  1. 单击主菜单中的Project> Deployment
  2. 通过单击添加想要的文件Add files
  3. 将文件位置从 更改.\StartUp\Documents\
  4. 单击Connect to Remote Machine按钮(几秒钟后,该列Remote Status应显示Missing
  5. 点击Deploy按钮,等待Remote Status成为Same

现在应该可以从您的应用程序代码访问该文件:

ImagePath := TPath.Combine(TPath.GetDocumentsPath, 'LaunchImage_320x480.png');
if FileExists(ImagePath) then
  Image1.Bitmap.LoadFromFile(ImagePath);

编译您的代码在您的 iOS 设备或 iOS 模拟器中运行它。它应该工作并且玩得开心!

笔记:

  1. 文件名在 iOS 上区分大小写。
  2. 不要上传.bmp到 iOS,因为我认为 iOS 不支持位图。
  3. Andriod 设备的文件位置不同。(但谁在乎)
于 2014-06-08T17:52:57.363 回答