我正在使用
Kanna框架开发一个涉及一些XML解析的自定义框架.每当我尝试将我的框架导入游乐场时,游乐场崩溃时会出现以下错误:
Playground execution failed: expression failed to parse, unknown error
* thread #1: tid = 0x4e9448, 0x00000001074bf360 com.apple.dt.Xcode.PlaygroundStub-macosx`executePlayground, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
* frame #0: 0x00000001074bf360 com.apple.dt.Xcode.PlaygroundStub-macosx`executePlayground
frame #1: 0x00000001074bd22a com.apple.dt.Xcode.PlaygroundStub-macosx`-[PlaygroundViewBridgeService execute] + 90
frame #2: 0x00007fffb4fc03ec CoreFoundation`__invoking___ + 140
frame #3: 0x00007fffb4fc0271 CoreFoundation`-[NSInvocation invoke] + 289
frame #4: 0x00007fffb4fd97a6 CoreFoundation`-[NSInvocation invokeWithTarget:] + 54
frame #5: 0x00007fffc86ca95b ViewBridge`__68-[NSVB_ViewServiceImplicitAnimationDecodingProxy forwardInvocation:]_block_invoke + 47
frame #6: 0x00007fffc86e9f4c ViewBridge`__runAnimationGroup_block_invoke + 21
...
我正在开发的框架工作正常(它构建和单元测试按预期运行),但是在操场上无法使用它是一件痛苦的事.
我已经提供了一个示例项目,其中包含有关复制问题的说明以及GitHub上的完整堆栈跟踪:https://github.com/noahcgreen/XMLTest.如果从“XMLTest.swift”源文件中删除了导入Kanna,则错误消失.
到目前为止,我已经尝试过:
>使用Fuzi框架代替Kanna,
>使用CocoaPods而不是Carthage安装,
>在我的设备上更新libxml2(使用Homebrew),和
>从一个干净安装XCode的不同(和新)设备开始,
一切都没有成功.我在这里结束了我的智慧.我究竟做错了什么?
最佳答案 好的自定义框架,首先你需要让你在游乐场工作
>打开游乐场,然后选择文件>另存为工作区
>打开游乐场的工作区
>在工作区中选择文件 – >添加然后添加自定义框架工作.
>导入框架工作
来自苹果的笔记
重要说明:自定义框架在操场中工作需要满足以下条件:
框架与操场位于同一工作区中.
该框架已经建成.
如果它是iOS框架,则它是为64位运行时目标构建的.
工作空间包含至少一个构建目标的活动方案.
如果它是Objective-C框架,则它是在将Defines Module(DEFINES_MODULE)构建设置设置为Yes的情况下构建的.
http://help.apple.com/xcode/mac/8.2/#/devc9b33111c我得到了我的信息.希望这可以帮助.
编辑:
#import <Cocoa/Cocoa.h>
#import <Kanna/Kanna.h>
//! Project version number for XMLTest.
FOUNDATION_EXPORT double XMLTestVersionNumber;
//! Project version string for XMLTest.
FOUNDATION_EXPORT const unsigned char XMLTestVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <XMLTest/PublicHeader.h>
好的老兄在xmltest.h中尝试这个