iOS5 icloud上のフォトストリームを削除する方法
iOS5がリリースされて早速アップデートしてみました。
試しに、iPhoneで撮影した画像をicloud上にアップしたはいいけど、削除できない状況で困ってました。
ネットで方法を探すと削除できないとありましたが、下記の方法で試したところ、削除できましたので
備忘として記録しておきます。
手順(概要)
1.
PCのブラウザからicloudにログイン (icloudにアクセス)
2.
3.
4.
5.
iPhoneのフォトストリーム設定が「ON」になっている場合は一度OFFにして再度「ON」にすることでiPhone内のキャッシュがクリアされて同期される模様
(これをやらなければ、iPhone上でicloud上の画像が残っているように見えてしまう)
6.
iPhoneで写真→フォトストリームを参照すると、「写真がありません」と表示される
うっかりして
30日で自動で消えるようですが、テストでアップした画像や間違って写ってはいけない女性、男性等の怪しい写真をアップしてしまった場合はこの方法でこっそり削除して他の端末に広がらないようにしないと大変なことになるぅぅ!
FlashBuilder -- Asdocの@authorを変更する方法
ActionScriptのクラスドキュメントを自動で生成してくれるAsdocは非常に便利です。
説明文書はソースコード内に定められた書き方でコメントを記載するればよい。
コメントをわざわざ入力するのは面倒なので、
flexformatter からpluginの.jarソースをダウンロードして
pluginフォルダに格納して利用すると、ボタン一発でソース内にAsdoc用のコメントを挿入してくれる。
クラスの説明箇所には自動で@authorが挿入されるが、その名前を変更するところがなくて困った
Flex3 FileReference.load()でエラーが発生する
FlashPlayer の バージョンを10.0以上にする必要がある。
ライブラリプロジェクトの場合、FlashPlayerのバージョンを選択することができないので、
読み込むライブラリを変更する必要がある
手順
- Open the "Flex Build Path" tab.
- Expand "Flex 3", select "playerglobal.swc" and click "Remove".
- Note the directory path in "Flex 3 - " (on my system it's /Applications/Adobe Flex Builder 3 Plug-in/sdks/3.2.0).
- Click "Add SWC" and navigate to the that path, and then deeper into frameworks/libs/player/10, select playerglobal.swc.
- Expand "playerglobal.swc", double-click "Link Type" and change it to "External".
- Open the "Flex Compiler" tab
- In "HTML wrapper", change the "Require Flash Player version" to 10.0.0.
Titanium -- HTTPClient()で配列をPOSTする方法
(HTTPリクエストでサーバにパラメータを投げる時の処理について、どうすれば良いか迷ってたので備忘として記録)
サーバに渡したいパラメータ例
"fooname"と"id"だけなら、よくあるHttpClient()の使い方に記載されているけど
”imagename"のような配列も一緒にサーバへPOSTしたい場合はどうすればよいか?
{
"fooname" => "hoge";
"id" => 1;
"imagename" => Array( "hogeimg1", "hogeimg2" );
}
ActionScript -- サーバからXML形式でデータを受け取った時の注意点
サーバからXML形式でデータを受け取ると、ResultEventのresultプロパティに
オブジェクトとして結果を自動で格納してくれるのは良いがその仕様(XMLからオブジェクトへの変換)は、
デフォルトでは「先頭および最後の空白文字を、解析時に無視する」ようになっていることに注意!
つまり、nullで返ってくると想定しいたノードが、実は省略されていて
想定より少ないノード数になっていることがある。
例えば、以下のようなXMLがサーバから返ってきたとする。
<?xml version="1.0" encoding="UTF-8"?> <data> <return> <item /> <item /> <item>最後データ</item> </return> </data>
ResultEventのresult(array)に格納されているreturn配下のノード数は1個で、先頭の空白ノード2つは無視される。
(event.result.data.return[2] で値を取得することはできない)
空白行を無視しない方法
例は以下のとおり
private function httpreturn(e:ResultEvent):void{ XML.ignoreWhitespace = false; //空白無視をやらない var resxml:XML = new XML(e.message.body); var hoge:Array = new Array(); //XML to Array for each(var tg:XML in resxml.return.item){ hoge.push(tg.toString()); } }
最後に
もっとスマートな方法(XML操作をしないやり方)がないか?を調べたけど見つかりませんでした。
良い方法があれば、教えていただけると幸いです。
Titanium mobile -- Android でrequire()エラー
(TitaniumのAndroidってまだまだやなぁ)
CommonJSに準拠しているっていうから、require()を利用して関数を共通化していたのに、
Androidのエミュレーター上でエラーが出て、実機上だとOKになるケースが発生。
ちなみに、iOSでは全く問題ない。
エラー内容
Message: Wrapped java.lang.IllegalArgumentException: size must be >= 0 (file:///android_asset/Resources/app.js#1)
原因
Android のビルド時にFastDevを利用したモードの場合だと、require()できないみたい。
サイテー!
対応方法
FastDevを利用しないこと。しかし、ビルドに時間がかかりすぎるのでそれは避けたい。
どうすれば良いのか?? 調査中ですが厳しい感じ。今のところ実機でやるのがベター!?
*1:1回のビルド時間が長いというデメリットあり