【发布时间】:2012-07-31 20:15:21
【问题描述】:
我目前正在开发我的第一个主要 RubyMotion 应用程序。我有很多 html 文本要显示,并且想摆脱使用 UIWebView ——因为它有点像 hack,而且如果没有很多箍,很难正确调整大小。所以,我的选择之一是 DTCoreText,它似乎是这批最常用和最稳定的控件。
我最初尝试使用 CocoaPod 版本,但由于某种原因,它导致来自另一个 pod 的 MKNetworkKit 出现问题。我搞砸了一点,但看到 MKNetworkKit 中报告了很多关于构建过程的问题,所以我最好不要管它。
相反,我选择了供应商选项。我 git 将 DTCoreText 存储库克隆到我的供应商目录中,并将其添加到我的项目中。虽然它通过编译库并制作我的 libDTCoreText.a 文件让我更接近,但在实际运行它之后我仍然卡住了。
我的 Rake 文件包括这个(其余的都很通用):
app.vendor_project('vendor/DTCoreText',
:xcode,
:target => 'Static Library',
:products => ['libDTCoreText.a'])
app.libs << '/usr/lib/libxml2.2.dylib' #For DTCoreText
就像我说的,libDTCoreText.a 文件被编译并复制到我项目中的正确位置。
我的应用在代码中有这个。它尽可能基本——我只是想看看它是否有效。
@source = DTAttributedTextView.alloc.initWithFrame(CGRectZero)
@source.attributedString = NSAttributedString.alloc.initWithHTMLData(post.source.dataUsingEncoding(NSString.defaultCStringEncoding), options:{}, documentAttributes:nil)
@source.frame = [[self.frame.size.width / 2 - size.width / 2, 600], [250, 250]]
应用程序可以编译,但在运行时,当我们点击上面的代码时,它会崩溃:
Objective-C stub for message `initWithHTMLData:options:documentAttributes:'
type `@@:@@^@' not precompiled. Make sure you properly link with the framework
or library that defines this message.
*** simulator session ended with error: Error Domain=DTiPhoneSimulatorErrorDomain
Code=1 "The simulated application quit." UserInfo=0x10019d470
{NSLocalizedDescription=The simulated application quit., DTiPhoneSimulatorUnderlyingErrorCodeKey=-1}
有人知道我可以从哪里开始寻找吗?我对 XCode 构建过程还不是很了解,所以我可能遗漏了一些东西。但它似乎应该工作。它对我说它可以正确地看到标题(并且可以编译),但它不知道实际的库在哪里。
【问题讨论】:
标签: ios rubymotion