2009-04-22 13 views
0

iphone用のビデオストリーミングクライアントをプロトタイプ作成しています。これは、C#で書かれたWebサーバーのコンテンツを取得します。iphone:XMLドキュメントのデータから新しいUIImageを作成する

サーバーは、イメージのjpgデータがタグの1つ()に格納されているXMLドキュメントを出力します。それはWriteBase64を使用してそれを書き出します。

iPhoneではlibxmlを使用してxmlを解析し、イメージのバイトをNSStringに格納しています。

次のステップでは、データを使用してNSDataオブジェクトを作成し、+ initWithDataメソッドを使用して新しいUIImageを作成します。

ただし、新しいイメージを作成しようとするたびに、結果は失敗を示すnilオブジェクトになります。私の最高の推測は、何とかNSStringを元に戻すために必要なことがあるということです。

助けてください!

+0

文字列にバイトを格納しないでください。文字変換を実行します...文字列です!それらをバイト配列に格納するか、可変データオブジェクトを使用してそこに格納してください:) –

答えて

3

XMLから文字列を正しくbase64でデコードしていますか?私が知っているObjective-Cでこれを行うネイティブな方法はありませんが、ここで自分自身を転がす方法についての良い議論があります:http://www.cocoadev.com/index.pl?BaseSixtyFour

+0

ありがとう!そのトリックをした。 – mwahab

1

代わりに、画像バイナリデータを直接XMLストリームの後に自分自身で解析する - base64エンコーディングは実際に転送するイメージのサイズを拡張します。

+0

次回の試行では、サーバー側の人がプロトタイプを作成して実行できるように、base64のエンコーディングが完了したことは間違いありません。ありがとう! – mwahab

関連する問題