v1.7を作成しました

どうもです。
意外とDLされているアプリ、エロ目フィルターです。


今回の追加、改修点は以下のとおり
iPhone5のディスプレイ対応
iOSの顔認識搭載
 以前検証していたface.comはボツ
facebook投稿(iOS6〜)
・OpenInでLINEやらWeChatやらに送れる機能
・広告搭載

新アプリ すぐコラ1.0をリリースしました。

iOSの顔認識機能を利用した即席コラアプリをリリースしました。


こんな感じで作れます。

またオーバーレイ表示させる用の画像を、カメラロールの写真から作ることができます。


こんな感じで、塗った箇所が切り抜かれて画像になります。


大変だったところ
コラ用の画像を作成させる画面全体。拡大縮小、ペン、消しゴム、マスクによる切り抜き、余白の削除など・・・


あとは自身のアプリでは初めてアドネットワークの広告を付けました。
どうなることやら。

Facebookへの画像アップロード

iOS6からOSレベルでFacebookへの画像投稿がサポートされましたので
その実装なんぞを。
予めSocial.frameworkをプロジェクトに追加しておきます。

SLComposeViewController *viewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

BOOL r = [viewController addImage:image];
if(r != YES) return;
        
viewController.completionHandler = ^(SLComposeViewControllerResult res) {
    if (res == SLComposeViewControllerResultCancelled) {
        NSLog(@"cancel");
    }
    else if (res == SLComposeViewControllerResultDone) {
        NSLog(@"done");
        [self dismissViewControllerAnimated:YES completion:nil];
    }
};
        
[self presentViewController:viewController animated:YES completion:nil];

iOS6対応

最近通常業務が忙しくてプライベートのアプリが完全に放置状態になっていました
どうもこんばんは。


さてiOS6でノスタルジックフォトフィルターが落ちる件について対応しました。
デバッグしてみると画像処理する箇所でEXC_BAD_ACCESSで落ちていますよ、と。


以下のリンクが参考になりました。助かります。
http://syszr.com/s8.html


こんな感じで。

CFMutableDataRef data = CFDataCreateMutableCopy(0, 0, CGDataProviderCopyData(dataProvider));
UInt8 *buffer = (UInt8 *)CFDataGetMutableBytePtr(data);

Titanium Mobileを試してみる インストール編

本当は動かすところまでやりたかったのですが
想像以上にインストールに時間がかかってしまいそこまで出来ませんでした。

さてTitanium Mobileです。
iOSAndroidも、いずれも共通のHTMLとJavaScriptで出来るとか。
ああちなみに私はHTMLとJavaScriptはほぼ出来ないと考えて頂いてよいです。


Titanium Mobileで遊ぶのに必要なものが3点
1.Titanium Studio
 以下でサインアップするとダウンロードできる。
 https://my.appcelerator.com/auth/signup/offer/community
 ここではiOSAndroid両対応を試すのでOSX版をダウンロードする。


2.iOS SDK
 Mac App StoreからXCodeを入れる。
3.Android SDKOSX版を。
 http://developer.android.com/sdk/index.html

      • -

インストールする順番はどれが先でも大丈夫ですが
2→3→1とかかな?私は2は既に入っていたので省略しました。


3はDL後解凍し以下をターミナルで実行する。
/android-sdk-macosx/tools/andoroid
そうするとインストールする項目が出るのでインストールしたい項目にチェックを入れてインストールボタンを押す。
今日現在のデフォルトだと4.0.3にチェックが入っているので
追加で2.2と2.3.3にもチェックを入れる。
2.2を入れていないと後でTitaniumに設定する際に怒られる。


さてここのSDKのダウンロードにやたらと時間がかかるので
時間に余裕のあるときにやるとよろし。


1はdmgをマウントしてインスコ
アプリ実行後、自動的にアップデートが始まるので放っておく。
3ほどは時間かからなかったです。


デフォルトだとiOSのパスは設定されているのにAndroidのパスは設定されないので
手動で設定してやる。そうしないとプロジェクト新規作成時の
Androidのチェックが入らない。


続く。

      • -

以下のサイトを参考にさせて頂きました。
http://hisasann.com/housetect/2012/02/macosx_liontitanium_mobilestud.html

顔認識機能を搭載してみました

face.comのAPIを利用した顔認識機能を搭載してみました。
以前からトライしてみようと思っていたのですが日々の業務に押されて
なかなか手を付けられず・・・相当時間が経ってしまいました。


閑話休題


face.comのAPIを使うにはまず開発者サイトに行って開発者登録をします。
http://developers.face.com/

登録後使用するアプリケーションを登録。
するとAPI KeyとAPI Secretがもらえます。


この後は実装に入っていきます。

NSOperationQueue *queue = [[[NSOperationQueue alloc] init] autorelease];
	
	NSURL *url = [NSURL URLWithString:@"http://api.face.com/faces/detect.json"];	
	ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];
	
	[request setDelegate:self];
	[request setTimeOutSeconds:30];
	[request setPostValue:API_KEY forKey:@"api_key"];
    [request setPostValue:API_SECRET forKey:@"api_secret"];
    
    NSData *mkImage = UIImageJPEGRepresentation(image, 80.0);
    [request setData:mkImage withFileName:@"image.jpg" andContentType:@"image/jpeg" forKey:nil];
    
    [request setDidFinishSelector:@selector(requestDone:)];
    [request setDidFailSelector:@selector(requestWentWrong:)];
    
	[queue addOperation:request];	//非同期

こんな感じで。


ちなみにまだ申請していません。これからテストします。