0%

realm安装与编译踩坑

realm安装与编译踩坑

realm是一个简单易用的跨平台数据库

我这里用的是iOS版本,所以这里的问题只针对于iOS的版本。

安装

文档中有安装步骤,根据文档中的教程去安装即可。

CocoaPods方式

在podfile文件中添加pod 'Realm',然后执行pod install国内用户可能会出现下面的错误。

1
Downloading core failed. Please try again once you have an Internet connection..

出错的原因是因为被墙了,这时候你需要一个VPN,然后重新执行pod install就可以了。没有VPN的话使用静态库的方式去安装就可以。

静态库的安装

下载你想要安装的版本。

下载地址

下载之后解压,把ios/static/目录下的Realm.framework推进项目中。然后在Build Phases下的. Link Binary with Libraries中添加libc++.tbdlibz.tbd,然后编译。

踩坑

第一问题就是被墙问题。解决办法就是翻墙使用VPN或者采用另一种办法。

还有一个是升级编译报错问题。我这里升级realm到最新版,然后编译报错。而且还有很多警告。下面是其中一个警告

1
2
3
ld: warning: object file (/Users/abai/Library/Developer/Xcode/DerivedData/Diary-dadfyxaqgthxebftmnqlhyfwcfpv/Build/Products/Debug-iphoneos/libRealm.a(collection_change_builder.o)) was built for newer iOS version (10.1) than being linked (9.0)

"realm::sync::make_sync_history(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:

这里发现问题应该出在了这个派生文件。所以删除掉/Users/abai/Library/Developer/Xcode/DerivedData/下面关于我这个项目的文件。然后重新编译,正常运行。