DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: xiao2024
今日帖子: 17
在线用户: 11
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2022/2/17 2:24:47
标题:
Delphi 开发 iOS APP 目前的经验汇总 浏览:2028
加入我的收藏
楼主: Delphi 10.4.2

暂时发现一个内置了多个线程的 APP,在 iPhone 真机上,跑得很正常,没有什么反应迟钝或者稳定性的问题。结论就是采用 Delphi 去开发 APP 是没有问题的。

题外话:同样的 APP 早已经在安卓上测试过了,也没有稳定性问题。看起来使用 Delphi 开发 APP 还是可以的。

首先,我没有 MAC 电脑,而开发 iOS 的 APP,必须要有 MAC 系统。我试着用 VirtualBox 虚拟机安装 MAC 系统用来做开发。虽然折腾了很久才搞定,但确实可行。结论:可以。

我在 VirtualBox 里面安装的是 Big Sur 这个版本的 MAC OS。
在 MAC OS 里面安装了 xCode 13 以及配套的 xCode Command tool
在 MAC OS 里面安装了 Delphi 带来的 PAServer;

VirtualBox 虚拟机安装增强功能没成功。但是,不妨碍虚拟机有网卡。在 VirtualBox 里面设置虚拟机的网卡是桥接模式,而非默认的 NAT 模式。这样,虚拟机 MAC OS 里面可以通过 DHCP 从路由器获得局域网的 IP 地址。安装 Delphi 的 WINDOWS 机器使用同一个局域网,这样 Delphi 才可以通过 IP 地址连接到虚拟机 MAC OS 里面的 PAServer。

在 MAC OS 里面的 xCode 跑起来以后,可以看到开发用地真机和模拟器。
在 Delphi 10.4.2 里面能够看到 iOS 的模拟器,但如果编译目的选择了模拟器,编译安装运行会失败。错误提示:The following error was returned: 'Unable to create process: /Applications/PAServer-21.0.app/Contents/MacOS/dbkosx_27_0'

关于真机如何连接 xCode 作为开发用机,网上很多资料,苹果官方的网页上也说得很清楚。这里就不提了。

在 Delphi 里面如果能够看到编译目标有这个开发用地真机的名字,则按 F9 就能看到程序跑到真机上来。中间需要在 MAC OS 里面输入两次你的 MAC OS 的登录密码(相当于是 root 的密码)。如果使用 Delphi 11,只需要输入一次。

有一个从 IDE 里面看不到,官方文档也没提到的问题,让我搞了两个晚上,每个晚上花了6,7个小时。就是随 APP 发布一起安装到 iPhone 里面的文件,在 Deployment 里面该选择什么文件夹。

在安卓底下,Deployment 里面,要安装的文件,在 Remote Path 那里鼠标点下去,能够看到 ./assets/internal/  这个选项,选它。程序安装到手机上以后,APP 的代码通过 TPath.GetDocumentsPath 获得的目录,可以找到这个文件。

在 iOS 底下,同样的地方,鼠标点下去,仍然是 ./asset/internal/ 也没有其它选项,结果我就被误导了。选了这个,APP 在手机里读不到文件。查了很久,发现在 iOS 下应该是 【 .\StartUp\Documents\ 】,没得选,需要手动填入。对应程序里面的代码仍然是 TPath.GetDocumentsPath 这个目录。

有谁搞定了 iOS 模拟器的,请分享一下经验。
----------------------------------------------
-
作者:
男 stacker (OOP才是王道) ★☆☆☆☆ -
普通会员
2022/2/17 3:29:25
1楼: 请问一下,现在开发IOS应用还需要点选Universal Binary吗?还是只需要64位元就够了?
----------------------------------------------
-
作者:
男 looper (keyo) ★☆☆☆☆ -
盒子活跃会员
2022/2/17 9:50:04
2楼: @pcplayer:感谢分享!
----------------------------------------------
虽千万人吾往矣!
作者:
男 smartdata (Jack) ★☆☆☆☆ -
普通会员
2022/2/17 11:11:25
3楼: @pcplayer:感谢分享!顶!
----------------------------------------------
==========
作者:
男 glwang (glwang) ★☆☆☆☆ -
盒子活跃会员
2022/2/17 11:28:41
4楼: @pcplayer:感谢按此在新窗口浏览图片
----------------------------------------------
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2022/2/17 11:53:05
5楼: @stacker  只有一个 iOS 64 bit 可以选择。目前我仅仅是在 development 模式下让 APP 跑到我的 iPhone 里面。发布到 app store 还没做。还不知道会碰到什么问题。
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2022/2/17 12:02:29
6楼: 另外有个证书问题:

在苹果官网上的开发者后台,为这个 APP 创建开发证书。然后下载证书到 MAC 里面,双击证书把它安装到系统里面。文档都是这样写的。

但是我这样做,却遇到问题。做完后,Delphi 按 F9 会失败。提示的错误是 Delphi 无法连接 PAServer。

但实际上是证书问题。进入 MAC 的钥匙串管理器,发现导入的证书,红色字体【不能被接受】。苹果官网创建的证书不能被苹果的 MAC 系统接受!

网上问了高人,才知道原因是苹果系统自带的一个开发者通用证书版本太低导致。在钥匙串管理器里面查了,那个证书要 2023 才过期,并没有过期。但是,仍然需要去苹果官网下载一个更新的证书。

这个证书叫:通用开发者证书【Apple Worldwide Developer Relations Intermediate Certificate】
----------------------------------------------
-
作者:
男 speedbin (speedbin) ★☆☆☆☆ -
盒子活跃会员
2022/2/17 14:30:33
7楼: 感谢分享。
----------------------------------------------
-
作者:
男 sandwoo (sandwoo) ★☆☆☆☆ -
普通会员
2022/2/17 14:44:38
8楼: 多年前有成功发布一个,忘差不多了
此帖子包含附件:
JPEG 图像
大小:35.4K
----------------------------------------------
-
作者:
男 zhuzh_yuy (华) ★☆☆☆☆ -
普通会员
2022/2/17 18:23:28
9楼: 暂时D不支持IOS模拟器,现在只能真机开发,在后续版本支持计划。大D现在开发APP确实可以,一点问题没有,爽的很,唯一不太爽的就是对接三方SDK不太方便,比较繁琐而已,另外期待大D下一版本11.1能把LSP搞完美些,早点支持wasm
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2022/2/17 20:01:07
10楼: 唉,Delphi 官方文档里面说,如何如何配置,可以在 iOS 的模拟器上跑。

我在网上也看到有老外说那是支持32位的,64位的不支持。StackOverflow 上面有人这样说。

总之没有一个准确的信息。导致我花了2天时间摸索模拟器。浪费两天时间啊。后来想想算了,直接上真机。没想到真机插上去就能用。

很多时候就是文档不足,导致浪费很多时间。使用搜索工具,搜各种资料,搜不到相关的。Delphi 的文档和资料,太少了。
----------------------------------------------
-
作者:
男 zhuoyu (拙于) ▲▲▲▲△ -
普通会员
2022/2/18 21:32:48
11楼: delphi开发APP,从XE2版本就支持IOS开发,android好像一直到XE5还是xe6开始支持。

delphi的FMX开发IOS应用,运行流畅,没啥大问题。
----------------------------------------------
-
作者:
男 esmall (esmall) ▲▲▲▲▲ -
普通会员
2022/4/3 11:27:07
12楼: 感谢vpcplayer的分享。
delphi开发APP的资料实在是少
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2022/4/3 16:05:56
13楼: delphi为何不构建linux arm平台呢,按理delphi可以直接开发andriod,说明已经具备linux arm的跨平台能力。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行78.125毫秒 RSS