2011-10-17 5 views
1

可能性の重複:
Can Blocks built for the iPhone 4 SDK work when deployed to iPhone OS 3.0?
Check for availability of blocks at runtime on iOSObjective-Cブロックを使用しても、iOS 4以前のデバイスでも実行できますか?

私はiOSの5の新しいTwitterのサポートを使用したいが、代わりにデリゲートを使用するのは、メインのTwitterコントローラはのクライアントが必要ですクラスを補完ハンドラとして渡します。

ブロックが大好きで使いたいですが、これまでのところ、iOS 3.1.3の互換性を維持できました。ブロックを使用する場合は、展開ターゲットをiOS 4に上げ、iOS 4以前のユーザーを放棄する必要がありますか? 3.1.3のサポートを維持する方法はありますか?

もし私がiOS 4を必要とすることになったら、古いユーザーはどうなりますか? App Storeの[Updates]タブに新しいアップデートが表示されない、またはアプリがダウンロードされて機能しなくなるのだろうか?デプロイメントターゲットの変更がApp Storeとどのようにやりとりされるかに関するドキュメントはありますか?

+3

http://stackoverflow.com/questions/4231965/check-for-availability-of-blocks-at-runtime-on-ios –

+0

これらの2つの提案に加えて、リンカーフラグを追加する必要がありますこの質問に記載されているように、エラーを回避するには:[iOS 3.1.3の起動時にiOS 4アプリケーションがクラッシュする:Symbol not found:__NSConcreteStackBlock](http://stackoverflow.com/questions/3313786/ios-4-app-crashes- at-startup-on-ios-3-1-3-symbol-not-found-nsconcretestackbl) –

答えて

-2

ブロックを動作させることができても、これは悪い考えです。 Twitterライブラリに他のiOS 4固有の機能があるかどうかは分かりませんが、ブロックが機能すると壊れる可能性があります。コードとTwitterクライアントの間で使用可能な最小限のOSに固執する必要があります。

+0

あなたは何を意味するのかよく分かりません。私は明らかに出荷前に3.1.3デバイスでこれをテストします。 – Bill

+0

古いバージョンのiOSの新しいバージョン用にコンパイル/書込みされたライブラリを使用しないでください。 – James

+0

私はそれが本当だとは思わない。開発者は常に最新のSDKをコンパイルして、コードを実行する最も古いバージョンにデプロイメントターゲットを単純に下げることをお勧めします。 – Bill

関連する問題