spatialiteDBKitというのを導入すればいいだけなんだけど、2週間ぐらいかかったかな。
白紙の状態から始めた場合の手順を、以下に記録します。
1. Apple Developer SiteからcomandlineToolをインストール
以下5.のgeosのくだりまでは、
https://github.com/andreacremaschi/SpatialDBKit
のHow to Useの通り。
2. brewがない人は、以下からインストール
https://brew.sh/index_ja
3. automake等をインストール
brew install automake autoconf libtool
4. podがない人は、
Rubyを最新版にしておく。
sudo gem update --system
podをインストール。
sudo gem install -n /usr/local/bin cocoapods
5. 所望のプロジェクト下で、Podfileを作成
pod initでPodfileを作る。
・# use_frameworks!は、コメントアウトのまま。
frameworkにすると、#importや#includeを10ヶ所ぐらい書き換えないといけなくなる。
・pod 'SpatialDBKit'の前に、pod 'geos', '~> 3.4.2'としておく。
geosの3.5.0や3.5.1ではうまくいかないため!
6. pod installを実行。
7. 出来上がった .xcworkspaceファイルをXcodeでオープン。
8. ビルドが通らない。
How To Useの通り、spatialite.cの#includeを変更。
9. SpatialDatabase.mがおかしい。
#import <spatialite.h>を加えれば、ビルドは通るが、EXC_BAD_ACCESSエラーに見舞われる。
Podではなぜか最新版のSpatialDatabase.mが取得されないので、手動で入れ替え。
10. ようやく動くようになる。