带有Realm for WatchOS的架构i386的未定义符号

时间:2016-10-31 09:45:57

标签: ios swift cocoapods realm watch-os-2

我想将AppleWatch-Extension添加到我当前的Projekt中。 我正在使用这个podfile:

def shared_pods
    pod 'RealmSwift', '2.0.2'
end

target 'Target-iOS' do
  platform :ios, '9.0'
  use_frameworks!
  ...
  shared_pods
end

target 'Target-MensaWidget' do
  platform :ios, '9.0'
  use_frameworks!
  shared_pods
end

target 'Watch Extension' do
  platform :watchos, '2.0'
  use_frameworks!
  shared_pods
end

pod install之后,我会在我的控制台中收到此警告:

[!] [Xcodeproj] Generated duplicate UUIDs:

当我尝试构建项目时,我收到此错误:

Undefined symbols for architecture i386:
  "realm::BpTreeBase::replace_root(std::__1::unique_ptr<realm::Array, std::__1::default_delete<realm::Array> >)", referenced from:

我也尝试在Watch-Target中使用$(继承)。

我正在使用Xcode 7.3.1和pod版本0.39.0

任何想法?

2 个答案:

答案 0 :(得分:1)

我对Realm遇到了同样的错误。 通过清除cocoapods缓存,我摆脱了错误“体系结构i386的未定义符号”:

pod cache clean --all
rm -rf ~/Library/Caches/CocoaPods
pod deintegrate
pod setup
pod install

答案 1 :(得分:0)

最高效的解决方案是删除单个 Pod:

rm -rf Pods/Target\ Support\ Files/RealmJS

当您清理构建时,重新安装 pod(pod deintegrate,rm -rf ~/Library/Caches/CocoaPods,rm -rf Pods) - 那么新构建需要更多时间。