导航:
论坛 -> 移动应用开发
斑竹:flyers,iamdream
作者:
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 模拟器的,请分享一下经验。
----------------------------------------------
-
作者:
2022/2/17 3:29:25
1楼:
请问一下,现在开发IOS应用还需要点选Universal Binary吗?还是只需要64位元就够了?
----------------------------------------------
-
作者:
2022/2/17 9:50:04
2楼:
@pcplayer:感谢分享!
----------------------------------------------
虽千万人吾往矣!
作者:
2022/2/17 11:11:25
3楼:
@pcplayer:感谢分享!顶!
----------------------------------------------
==========
作者:
glwang (glwang)
★☆☆☆☆
-
盒子活跃会员
2022/2/17 11:28:41
4楼:
@pcplayer:感谢
----------------------------------------------
作者:
2022/2/17 11:53:05
5楼:
@stacker 只有一个 iOS 64 bit 可以选择。目前我仅仅是在 development 模式下让 APP 跑到我的 iPhone 里面。发布到 app store 还没做。还不知道会碰到什么问题。
----------------------------------------------
-
作者:
2022/2/17 12:02:29
6楼:
另外有个证书问题: 在苹果官网上的开发者后台,为这个 APP 创建开发证书。然后下载证书到 MAC 里面,双击证书把它安装到系统里面。文档都是这样写的。 但是我这样做,却遇到问题。做完后,Delphi 按 F9 会失败。提示的错误是 Delphi 无法连接 PAServer。 但实际上是证书问题。进入 MAC 的钥匙串管理器,发现导入的证书,红色字体【不能被接受】。苹果官网创建的证书不能被苹果的 MAC 系统接受! 网上问了高人,才知道原因是苹果系统自带的一个开发者通用证书版本太低导致。在钥匙串管理器里面查了,那个证书要 2023 才过期,并没有过期。但是,仍然需要去苹果官网下载一个更新的证书。 这个证书叫:通用开发者证书【Apple Worldwide Developer Relations Intermediate Certificate】
----------------------------------------------
-
作者:
2022/2/17 14:30:33
7楼:
感谢分享。
----------------------------------------------
-
作者:
2022/2/17 14:44:38
8楼:
多年前有成功发布一个,忘差不多了
此帖子包含附件: 大小: 35.4K
----------------------------------------------
-
作者:
2022/2/17 18:23:28
9楼:
暂时D不支持IOS模拟器,现在只能真机开发,在后续版本支持计划。大D现在开发APP确实可以,一点问题没有,爽的很,唯一不太爽的就是对接三方SDK不太方便,比较繁琐而已,另外期待大D下一版本11.1能把LSP搞完美些,早点支持wasm
----------------------------------------------
-
作者:
2022/2/17 20:01:07
10楼:
唉,Delphi 官方文档里面说,如何如何配置,可以在 iOS 的模拟器上跑。 我在网上也看到有老外说那是支持32位的,64位的不支持。StackOverflow 上面有人这样说。 总之没有一个准确的信息。导致我花了2天时间摸索模拟器。浪费两天时间啊。后来想想算了,直接上真机。没想到真机插上去就能用。 很多时候就是文档不足,导致浪费很多时间。使用搜索工具,搜各种资料,搜不到相关的。Delphi 的文档和资料,太少了。
----------------------------------------------
-
作者:
2022/2/18 21:32:48
11楼:
delphi开发APP,从XE2版本就支持IOS开发,android好像一直到XE5还是xe6开始支持。 delphi的FMX开发IOS应用,运行流畅,没啥大问题。
----------------------------------------------
-
作者:
2022/4/3 11:27:07
12楼:
感谢vpcplayer的分享。 delphi开发APP的资料实在是少
----------------------------------------------
-
作者:
2022/4/3 16:05:56
13楼:
delphi为何不构建linux arm平台呢,按理delphi可以直接开发andriod,说明已经具备linux arm的跨平台能力。
----------------------------------------------
-