0

メールと印刷ルーチンを使用する単純なプロジェクトがあります。印刷用に、UIPrintPageRenderer のサブクラスがあります。弱くリンクされたクラスを使用するための Apple のガイドラインに従っています。

- The base SDK for your Xcode project must be iOS 4.2 or newer. The name for this setting in the build settings editor is SDKROOT (Base SDK).
- The deployment target for your project must be iOS 3.1 or newer. The name for this setting is MACOSX_DEPLOYMENT_TARGET (Mac OS X Deployment Target).
- The compiler for your project must be the LLVM-GCC 4.2 compiler or newer, or the LLVM compiler (Clang) 1.5 or newer. The name for this setting is GCC_VERSION (C/C++ Compiler Version).
- You must ensure that any frameworks not available in your project’s deployment target are weakly linked, rather than required. See “Weak Linking to an Entire Framework” and “Linking Libraries and Frameworks” in Xcode Project Management Guide.

問題

アプリケーションの起動時にまだエラーが発生します:

2011-07-08 10:47:19.819 MyTestProject[47013:207] *** -[UIWindow setRootViewController:]: unrecognized selector sent to instance 0x5a2aac0
2011-07-08 10:47:19.821 MyTestProject[47013:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIWindow setRootViewController:]: unrecognized selector sent to instance 0x5a2aac0'
2011-07-08 10:47:19.822 MyTestProject[47013:207] Stack: (
    43358288,
    44516140,
    43367003,
    42829430,
    42826226,
    9319,
    1149252,
    1153359,
    1178942,
    1160439,
    1192408,
    47780220,
    42637468,
    42633384,
    1151521,
    1184626,
    9129,
    8997
)
terminate called after throwing an instance of 'NSException'

iPad 3.2 Simulator 用のアプリケーションを実行しようとすると、これが発生します。理由はありますか?

ps コードは iPad 4.2 および 4.3 で動作します。

4

2 に答える 2

3

ドキュメントによるとUIWindow、このプロパティrootViewControllerは iOS 4.0 以降でのみ使用できます (したがって、 も同様ですsetRootViewController)。

rootViewController

ウィンドウのルート ビュー コントローラー。

@property(nonatomic,retain) UIViewController *rootViewController

討論

ルート ビュー コントローラーは、ウィンドウのコンテンツ ビューを提供します。ビュー コントローラをこのプロパティに割り当てると (プログラムまたは Interface Builder を使用して)、ビュー コントローラのビューがウィンドウのコンテンツ ビューとしてインストールされます。ウィンドウに既存のビュー階層がある場合、新しいビューがインストールされる前に古いビューが削除されます。

このプロパティのデフォルト値は nil です。

可用性

iOS 4.0 以降で利用できます。

これが、iOS 3.2 ではアプリがクラッシュするのに、iOS 4.2 および 4.3 ではクラッシュしない理由です。

于 2011-07-08T05:36:56.463 に答える
0

追加サービスなしで iOS 4.2 より前のバージョンで印刷できるとは思えません。iOS 4.2 以降では、AirPrint をサポートするプリンター用のドライバーがプリインストールされています (私が間違っていなければ)。下位の iO では、これらのドライバーはインストールされておらず、インストールできませんでした。

これは次のとおりです: iOS バージョン 4.2 より前の iPhone からドキュメントを印刷する方法

于 2011-12-08T22:08:32.467 に答える