1

私は現在、最初の主要なRubyMotionアプリケーションに取り組んでいます。表示するHTMLテキストがたくさんあるので、UIWebViewの使用をやめたいと思っています。これはちょっとしたハックであり、多くのフープがないと正しくサイズを変更するのが難しいためです。したがって、私のオプションの1つはDTCoreTextです。これは、このロットで最も使用され、安定したコントロールのようです。

私はもともとCocoaPodバージョンを使おうとしましたが、何らかの理由で別のポッドのMKNetworkKitで問題が発生しています。少しいじりましたが、ビルドプロセスに関してMKNetworkKitに多くの問題が報告されているので、そのままにしておくのが最善です。

代わりに、私はベンダーオプションを選びました。DTCoreTextリポジトリをベンダーディレクトリにgitクローンし、プロジェクトに追加しました。ライブラリをコンパイルして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のビルドプロセスについてはまだよくわからないので、何かが足りない可能性があります。しかし、それはうまくいくはずです。ヘッダーを正しく表示できる(そしてコンパイルできる)と言っていますが、実際のライブラリがどこにあるかはわかりません。

4

1 に答える 1

0

まあ、私は DTCoreText には関連する経験がありますが、RubyMotion には経験がありません。DTCoreText はカテゴリを使用するため、特別な負荷要件があります。私の Xcode プロジェクトの「その他のリンカー フラグ」には、次のようなものがあります: -force_load $(BUILT_PRODUCTS_DIR)/libDTCoreText.a

その行により、ライブラリが適切にロードされることが保証されます。そうしないと、使用しようとするとクラッシュします。

私は DTCoreText を 1 年間使用して非常に満足しており、私見は UIWebViews を使用するよりも属性付きテキストのはるかに優れたソリューションです。

于 2012-07-31T20:22:15.753 に答える