2015-05-15 59 views
2

在Xcode 6.3和iOS10.10.3下Swift整合了一个新的Realm-DB(realm 0.92.3),基本上适用于iPhone(不适用于Apple Watch)。 Watchkit(即Apple-Watch)下的相同领域框架的集成尚未行之有效。Watchkit&Realm 0.92.3

将RealmSwift.framework集成(拖入)嵌入式二进制文件,如here1here2所述。下面 见截图:

enter image description here

当出现以下错误模拟器运行Watchkit应用内:

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) 

还有什么是错的???

设置主应用程序的Framework-Search-Path。 MyApp Watchkit扩展程序和MyApp Watchkit应用程序未设置。设置它们不会改变上述错误。还有什么缺失?

+0

你在你的应用程序扩展/主应用程序的任何文件迅速?如果没有,即使你有一个需要它们的框架,swift-stdlib-tool也不会复制swift运行时的dylibs。 – segiddins

+0

是的,我有两个swift文件(即应用程序扩展和主应用程序) – iKK

+0

我终于找到了一个解决方案:重新开始一个新项目(相同的捆绑名称),并复制所有相关的storyboard swiftFiles,框架,等等从以前制作的项目中逐步拷贝到新项目中。那样,我的watchKit开始与模拟器一起工作!至少,不幸的是不知道以前错过了什么! – iKK

回答

1

我会建议你使用CocoaPods。

我是这么做的,就像动态框架一样,但是当我尝试使用Xcode的组织者将应用程序提交给iTunes Connect时,由于嵌套框架,我无法做到这一点。 Realm.framework位于RealmSwift.framework内部,这对Apple来说并不好。所以我尝试尝试,但没有任何帮助...

然后我用CocoaPods和一切工作,因为它应该。

这里是的CocoaPods安装说明:

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! 
+0

非常感谢Kruherson!这是一个很大的帮助。我会看你推荐的CocoaPods。 – iKK

+0

只是另一个问题:完成CocoaPods安装并打开生成的MyApp.xcworkspace后,它似乎工作,除了:“导入RealmSwift”不再有效。我需要放置什么? – iKK

+0

你不需要导入RealmSwift了:) – TomazStoiljkovic

0

这Podfile终于做到了,我(见下文)。一切的工作之后...... 之后一定要打开从现在开始,“MyApp.xcworkspace安装只需打开一个终端,去你的应用程序的文件夹(在您放置Podfile),然后键入

pos install 

“(不再是”MyApp.xcodeproj“),你就全都设置好了!

这里是工作的podfile:

xcodeproj 'MyApp.xcodeproj' 
workspace 'MyApp.xcworkspace' 
platform :ios, '8.3' 

source 'https://github.com/artsy/Specs.git' 
source 'https://github.com/CocoaPods/Specs.git' 

use_frameworks! 
link_with 'MyApp', 'MyApp WatchKit Extension' 

def shared_pods 
     pod 'RealmSwift', '>= 0.93.2' 
end 

target 'MyApp' do 
    shared_pods 
end 

target 'MyAppTests' do 
    shared_pods 
end 

target 'MyApp WatchKit Extension' do 
    shared_pods 
end