Search code examples
ioswatchkitrealm

Watchkit & Realm 0.92.3


The Swift integration of a new Realm-DB (realm 0.92.3) under Xcode 6.3 and iOS10.10.3 basically works for the iPhone (not for the Apple-Watch yet). The integration of the same realm-framework under Watchkit (i.e. Apple-Watch) does not work yet.

The RealmSwift.framework is integrated (dragged into) the Embedded-Binaries as described here1 and here2. See screenshot below :

enter image description here

When running the Watchkit-App with the simulator the following error occurs :

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /Users/XXX/Library/Developer/CoreSimulator/Devices/3FE99-9-4C4C2/data/Containers/Bundle/Application/8B4-DF19F34-222973/MyApp.app/PlugIns/MyApp WatchKit Extension.appex/MyApp WatchKit Extension
  Reason: image not found
(lldb) 

What is still wrong ???

The Framework-Search-Path of the main-app is set. The ones for MyApp Watchkit Extension and MyApp Watchkit App are not set. Setting them does not change the above error. What is still missing ???


Solution

  • I would recommend that you use CocoaPods.

    I did it like you did, with dynamic frameworks, but when I try to submit my application to iTunes Connect using Xcode's Organizer, I could not because of the nested frameworks. Realm.framework is inside RealmSwift.framework, and that is not okay with Apple. So I try and try but nothing helped…

    Then I used CocoaPods and everything worked as it should.

    Here are instructions for CocoaPods installation:

    Install CocoaPods 0.37.1 or later ([sudo] gem install cocoapods).
    In your Podfile, add use_frameworks! and pod 'RealmSwift' to your main and test targets.
    From the command line, run pod install.
    Use the .xcworkspace file generated by CocoaPods to work on your project!