Spatialite和iOS
我正在尝试构build在iOS平台上使用的最新版Spatialite,并没有取得太大的进展。 我已经下载了以下库的最新版本,并试图把它们放到一个项目中(每个项目都作为自己的目标)并将它们构build为一个静态库。
- Spatialite(3.0.1合并)
- GEOS(每晚在20121114上build立)
- PROJ.4(4.8.0)
每个下载包含数十个与脚本,标题和源代码混合的文件。 从这里的步骤不清楚,哪些应该加载,哪些不应该加载。 我已经尝试将每个目录中的所有文件导入到自己的组中,但无济于事,因为我的Xcode版本与示例中使用的版本不同,所以我在第2步中被卡住了。 当添加PROJ.4位Xcode问我是否要创build一个“外部构build系统项目”。
我也尝试从这个post中采取Lionel的项目,并更新所有软件的版本。 不幸的是,Xcode在新的源代码中抛出了数十个警告,并引发了一些错误。 如有必要,我可以分享这些。 更进一步,我甚至把他的输出(一个静态库和头文件),并把他们带到另一个项目,但由于某种原因,编译器抛出错误,说他们找不到“sqlite3”。 我已经将SQLite3添加到了项目中,但是并没有完全清除。
我也尝试过在这个主题上跟进,但我不能提问,所以我不能问原来的用户他/她是如何完成的。
最后一个问题是:
有谁知道如何用Xcode 4.5和iOS 6构build最新版本的Spatialite及其配套库(GEOS,PROJ.4)?
如果是这样,你可以分享你是如何做到的吗? 我想从概念上理解发生的事情。
我知道两种替代方法,都为我工作得很好。
- 从libspatialite-ios获取Makefile和补丁, input
make
- 使用Cocoapods和pod称为“空间”或更一般的SpatialDBKit
两者都会给你目前的4.1.1版本,但对大多数用途来说没问题。
通过CocoaPods:
安装pod安装的依赖关系
brew install automake autoconf libtool
然后在您的XCode项目中添加您的Podfile模板:
pod init
添加空间站点依赖项:
vi Podfile
并在主目标中添加这一行
pod 'spatialite', '4.1.1'
如果Podfile中存在项目,则添加工作空间
workspace 'YourWorkspaceName'
跑
pod install
高枕无忧。 完成后用XCode打开工作区