Appleのサンプルコードが整備されていない件について - SimpleFTPSample

いりブログ

iPhone及びiPad用アプリの開発に役立つのがApple が提供するサンプルコード。こちらのコードを組み合わせr事で開発者は手間を省きアイデアに専念することができます。

では、そのサンプルコードが動かない、または動くのに整備されていないとしたら。といった事をちょいと感じてしまったサンプルコードをご紹介いたします。

上記のサンプルコードは、iOS SDKのCFNetwork.framework というフレームワークを使ったサンプルです。フレームワーク名にネットワークが含まれていることからも判る通りネットワーク(インターネット関連) 用のフレームワークでして、そのなかでもファイルへのアクセスするためのFTP 機能を使うためのサンプルとなっております。
iOS6 以降ですと落ちる不具合が有るようです。また、4inchディスプレイへも未対応らしく画面が崩れるという問題が発生します。画面の不具合は挙動に影響がないとして落ちる不具合について放置されているのはiOSの肥大化とともに取り扱うサンプルコードが多くなりすぎたためか、メンテナンスする人が離職してしまったのかと推測するものです。

ちなみに、落ちる不具合については以下のプログラミング向けディスカッションサイトで意見交換されています。

iOS 6 EXC_BAD_ACCESS in SimpleFTPSample code. How to Fixed it? | LinkedIn
http://stackoverflow.com/questions/12578076/ios-6-exc-bad-access-in-sampleftpsample-code?goback=%2Egde_121874_member_174201725

意見交換されている内容の中から、

success = [self.networkStream setProperty:(__bridge id) kCFBooleanFalse
forKey:(__bridge NSString *) kCFStreamPropertyFTPAttemptPersistentConnection
];
assert(success);

を埋め込むことで、アプリケーションが落ちる不具合は直ります。修正されないのは、OSそのもののバグでOSのアップデートを待っているからかもしれません。