UITableVIewのスワイプでのセル削除が効かない

UITableViewにて、
編集モード時には複数選択可能
通常モード時 スワイプ削除が可能
をやろうとしていたのですが、

// 編集モード時の複数選択設定
tableView.allowsMultipleSelectionDuringEditing = YES;

これを設定していると、通常モードでのスワイプ削除が効かなくなるみたいでした。
なので、編集モードに入る前に複数選択に設定して、戻るときにもとに戻してやれば
解決しました

 - (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    // 編集モード時のみ複数選択可能とする
    self.tableView.allowsMultipleSelectionDuringEditing = editing;
    ...
}

Kitchen Sink ようやく!

【環境】
・xcode4.3.2
iOS5.1
・titanium sdk2.1.0

ずっとこのエラーがでて困っていたけど、ようやく解消したのでまとめ。

dyld: Library not loaded: @rpath/DevToolsFoundation.framework/Versions/A/DevToolsFoundation
Referenced from: /Developer/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/iPhoneSimulatorRemoteClient.framework/Versions/A/iPhoneSimulatorRemoteClient   
Reason: image not found

結局Xcode.appを

/Developer/Applications

から

/Applications

に置き変えたらすんなり解決した。

やったことは、

①最新ビルドを取得
http://builds.appcelerator.com.s3.amazonaws.com/index.html

②取得したファイルを
~/Library/Application Support/Titanium
配下に上書き

Xcode>Preferences>Downloads>Command Line Toolsをインストール

④ターミナルから

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

※ここでもともとインストールしてたパス

/Developer/Applications/Xcode.app/Contents/Deceloper

を指定していたけどエラーが出ていた。
パス指定を間違えていました。/Developerにインストールしている場合
/Developer を指定することで正常に動作しました


⑤あとはTitanium studioでクリーンしてビルドでOKだった


このあたりいろいろ参考にさせてもらいました
https://jira.appcelerator.org/browse/TISTUD-1196
http://www.iphonedevsdk.com/forum/off-topic/35948-xcode-crash.html
http://developer.appcelerator.com/blog/2012/03/titanium-and-xcode-4-3-revisited.html

phonegapでカメラを使ってみた。

APIドキュメント(日本語)
http://phonegap-fan.com/docs/phonegap_camera_camera.md.html#camera.getPicture


撮影したimageは以下の形式で取得できるみたい。

Base64形式でエンコードされたフォトイメージを表す文字列
・ローカルストレージ内に記録されたファイルの場所を表す文字列

使用例通り試してみたけどうまく表示されない。




onSuccess内で、console.log(imageData)してみたら、
file://localhost/var/mobile/Applications/25B24835-7A9C-4E32-A946-8B02ED5FB57F/tmp/photo_001.jpg
って。
デフォルトBase64形式のはずが、ファイル形式になってるみたい。
Camera.DestinationTypeを設定したら問題なく取得できた。

navigator.camera.getPicture(onSuccess, onFail, 
        {quality: 50, destinationType: Camera.DestinationType.DATA_URL }); 

function onSuccess(imageData) {
       console.log(imageData);
     	var image = document.getElementById('myImage');
	image.style.display = 'block';
	image.src = "data:image/jpeg;base64," + imageData;
}

function onFail(message) {
	alert('エラーが発生しました: ' + message);
}

【phonegap(iOS)使ってみた】

githubからphonegapを取得する。
https://github.com/phonegap/phonegap

今回はiOSで試すので、
ダウンロードフォルダ/phonegap-phonegap-de1960d/lib/ios/Cordova-1.5.0.dmg
を展開してCordova-1.5.0.pkgインストールする。



プロジェクトの作成

プロジェクト作成で、
iOS>Application>Cordova-basedApplication
を選択する。
※phonegapのバージョンで違うのか、Phonegap-basedApplecationと説明されている
サイトが多かったので、一瞬迷った。
そのままコンパイル


ARCをONにしているといくつかエラーがでたので解消する。

・NSAutoreleasePoolとautoreleaseとdeallocの箇所だった。
そしてもう一度コンパイル



今度はシミュレータにwww/index.htmlが見つからないとでた。


このとき、プロジェクトフォルダにwwwフォルダが作成されているので、
そのままXcodeのプロジェクトへドラッグ&ドロップ。



Create folder references for any added folders
にチェックを入れてFinish。



wwwフォルダが青色になっていればOK。
チェックを変えていないと黄色のグループになっている。



もう一度実行するとindex.htmlが表示される。

【Xcode 4.2 でC++11】


Projectを選択し、Build Settings Allタブから、
・Build Optionsセクションの Compliler for C/C++/Objective-Cから、"Apple LLVM compiler3.0"を選択(デフォルト)
Apple LLVM compiler3.0 - Language セクションの
  C++ Language Daject "C++0X"を選択
  C++ Standart Library "lic++ (LLVM C++ standard library with C++ 0X support)"を選択

【文字列でマスク〜拡大】

やりたいこと
・文字(画像)で背景をマスクする。
・その文字を拡大⇒最終的に背景がすべて見える


画像(png)ファイルを読み込んでマスクに設定は、

DisplayObject.cacheAsBitmap = true;
DisplayObject.mask = 読み込んだDisplayObject;

でいけるけど、これだと拡大に耐えられない。
当たり前か。bitmapだしなー。
いくらBitmap.smoothingを設定してもさすがに荒い。


ということで、元の画像ファイルをSVGにして
SVG形式で読み込むことで解決した。
他にもやり方あれば教えて欲しいです。


読み込みかたはこちらを参考にしました。
独学ActionScript


というか、これを使えば変換できるのかな。
こんど試してみよう。
ラスタ→ベクタ変換する AS ライブラリ "PotrAs" - てっく煮ブログ 跡地

【CFUUIDRef Objective-C UUIDの作成】メモ

NSString * の一意な識別子を作成する。


// 識別子を作成する
CFUUIDRef uuid;
uuid = CFUUIDCreate(NULL);
NSString *s = (NSString*)CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
NSLog(s);

これでこのような感じで出力される


2011-07-31 02:58:28.862 ATPatterns[3180:207] A45D5CBB-214C-46B2-B39D-2F8CD1954E18

こちらを参考にさせていただきました。
(旧) Cocoaの日々
http://xcatsan.blogspot.com/2009/11/uuid-cfuuidcreate-globallyuniquestring.html