Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
iPhone 和 Mac OS X 的开发环境为 Xcode。
要引用 UltraLite 头文件和库,在 SQL Anywhere 安装目录的位置创建用户定义的构建设置集更为方便。例如,设置 SQLANY_ROOT 到 /Applications/SQLAnywhere12。要创建此设置,打开项目编辑器的 [Build] 窗格并单击 [Add User-Defined Setting],然后输入名称和值。
要查找 UltraLite 包含文件,将 $(SQLANY_ROOT)/sdk/include 添加到 [User Header Search Paths] (USER_HEADER_SEARCH_PATHS) 构建设置。
UltraLite for iPhone 和/或 UltraLite for Mac OS X 不支持以下的 MobiLink 客户端网络协议选项:
将 Mac OS X 和 iPhone UltraLite 客户端与 Mobilink 服务器同步时,要使用端对端加密,必须使用 PEM 编码 X509 证书(而不是 PEM 公共密钥文件)封装公共密钥,并提供 E2EE 专用密钥。要创建包含 E2EE 专用密钥的 PEM 编码 X509 证书,建议您使用证书创建实用程序 createcert。获得 E2EE 专用密钥后,启动 MobiLink 服务器时请指定 -x 选项,并将密钥指派给 e2ee_private_key 选项。要将 UltraLite 客户端数据库与 MobiLink 服务器同步,请运行 UltraLite 同步实用程序 ulsync,并将 E2EE 公共密钥指派给 e2ee_public_key 连接选项。同时使用 iPhone 和非 iPhone 客户端时,则必须从证书中抽取公共密钥。面向 iPhone UltraLite 客户端进行开发时,如果指派了 trusted_certificate 或 e2ee_public_key 选项,UltraLite 同步实用程序将在 iPhone 开发包的主资源包 (mainBundle) 中搜索证书文件。您必须将证书放置于 Xcode 项目的 Resources 文件夹内。
不支持以下加密标准:
Xcode 调试程序 (GDB) 支持单步执行和中断执行 longjmp() 调用。应用程序通常不使用 longjmp,但 UltraLite 运行时库有时在内部执行(例如,当通知错误时)。当跟踪应用程序代码和单步跳过 UltraLite 调用时,可能导致出现问题。如果单步跳过 UltraLite 调用并获取来自调试程序的错误:重新启动程序,在有问题的行之后设置断点,而非单步跳过有问题的行,使用 Continue 命令 - 这将产生相同的效果,因为调试程序将在其后的断点停止,但应避免与 longjmp 调用相关的问题。使用 OpenConnection() 打开现有数据库或确定数据库不存在时(当数据库不存在时,通知错误),最容易遇到这种问题。