2

iOS 4.2 で完全に動作する iPhone アプリでプリンター機能を実行したいのですが、iOS 4.2 未満でそのアプリを実行しようとすると、エラーが発生します。

dyld: Symbol not found: _OBJC_CLASS_$_UIPrintInfo

この問題の原因と解決方法を教えてください。

ありがとう!

4

2 に答える 2

1

あなたはこれを書くことができます

if (NSClassFromString(@"UIPrintInfo")) { // 印刷ボタンを追加 }

コードで 1 つのフラグを設定するだけでなく、

project settings -> build -> Other Linker Flags = -weak_framework and UIKit.

そうすれば、コンパイル時にエラーは発生しません。[その他のリンカー フラグ] ボックスに最初のフラグが -weak_framework として表示され、次に UIKit が表示されるように注意してください。

これがあなたを助けることを願っています。

于 2011-10-01T12:34:40.297 に答える
1

できません。UIPrintInfo は iOS 4.2 以降でのみ使用できます。

あなたがする必要があるUIPrintInfoのは、利用可能かどうかを確認することです。利用可能である場合は、ユーザーが印刷できるようにするボタンを追加します。

if (NSClassFromString(@"UIPrintInfo")) {
   // Add print button
}

また、UIKit の弱いリンク: プロジェクトに移動し、[ビルド フェーズ] タブを選択します。ここに、[バイナリとライブラリのリンク] のリストがあります。UIKit.framework の背後にある必要があり、オプションに変更しました。

于 2011-09-26T11:43:43.823 に答える