【TextFlight】AppStore(韓国)カテゴリ1位獲得&Apple Watch対応アップデートに関して


以前作成したアプリが、
韓国AppStoreにて、仕事効率化カテゴリ1位を獲得しました!




韓国語でAppStoreを表示させた結果です。

IMG_8169.png

カテゴリ1位!(韓国語読めないけど)


ランキング推移は以下の通りとなります。

1_korea.png
Appgraphyさまのページから引用 画像をクリックすると元のページに飛びます。


以前より、このアプリは韓国で少しずつダウンロードされていたのですが、今回はどこかで紹介されたのでしょうか?

何にしても、嬉しいことですね!


さて、気になる実際のダウンロード数ですが
1日目:2855DL 1位
2日目:2484DL 2位
でした。


やはり、日本に比べて少ないダウンロード数でランキング上位に載るみたいですね。

やっぱり、海外の方に使っていただけるのは嬉しいことです!

ストアの言語を変えないと見れませんが、海外の方も結構良いレビューをつけてくださっているので、開発の励みになっています!


さて、せっかくなのでこのアプリも、Apple Watch対応のアップデート作業を行おうと思っています。

簡単なテキストを表示するだけのアプリなので、そこまで難しくなくできるはず!

ということで、アップデート作業を行いました。


イメージ画像ですが、AppleWatchでは

glances.png

こんな感じで表示される予定です〜。


AppleWatchがまだ発売されていないのでアップデートはできませんが、発売次第、対応アップデートいたします!


簡単なテキスト、メモなどを通知センターに表示させるアプリ「TextFlight」は
以下のリンクからダウンロードできます。

よろしくおねがいいたします!


アプリごとの制作過程は、ブログの開発記カテゴリから一覧表示する事が出来ます。

toOne v1.1 アップデート Cocos2dにおけるシェイク 前面カメラを用いて動作するセンサー機能など


 toOne - コイントス のアップデートを行いました。

 DSC0220388.jpg

今回実装された機能は以下になります。
トス動作に
・シェイク動作
・センサー(前面カメラを使って、デバイスに触らずトスできます。)
を追加しました。

一つ前の記事でお話しした機能の実装です。
センサー動作に関しましては、機構上、暗めの場所だとあんまりちゃんと動作しないかもしれません。


以下は技術的な話となります。


■cocos2dにおけるシェイク動作

cocos2dではiOSデフォルトのシェイク機能が使えないので、加速度センサーを使用してシェイク動作を取得します。

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {

const float violence = 1;
static BOOL beenhere;
BOOL shake = FALSE;

if (beenhere) return;
beenhere = TRUE;
if (acceleration.x > violence * 1.5 || acceleration.x < (-1.5* violence))
shake = TRUE;
if (acceleration.y > violence * 2 || acceleration.y < (-2 * violence))
shake = TRUE;
if (acceleration.z > violence * 3 || acceleration.z < (-3 * violence))
shake = TRUE;
if (shake) {
id particleSystem = [CCParticleSystemQuad particleWithFile:@"particle.plist"];
[self addChild: particleSystem];

// Super simple Audio playback for sound effects!

[[SimpleAudioEngine sharedEngine] playEffect:@"Sound.mp3"];
shake = FALSE;
}

beenhere = FALSE;
}

引用:stackoverflow - Cocos2d shake/accelerometer issue

引用元のページでも語られているように、これだけだと動作に問題が出るので、タイマーで禁則を設けるなど多少修正を加えています。



■デバイスに触らず、手をかざして動作するセンサー

前面カメラを使用したAVCaptureSessionにて、取得したcgImageの明るさ差分からセンサー機構を作ります。


- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
{
CVImageBufferRef buffer;
buffer = CMSampleBufferGetImageBuffer(sampleBuffer);

CVPixelBufferLockBaseAddress(buffer, 0);

uint8_t* base;
size_t width, height, bytesPerRow;
base = CVPixelBufferGetBaseAddress(buffer);
width = CVPixelBufferGetWidth(buffer);
height = CVPixelBufferGetHeight(buffer);
bytesPerRow = CVPixelBufferGetBytesPerRow(buffer);

CGColorSpaceRef colorSpace;
CGContextRef cgContext;
colorSpace = CGColorSpaceCreateDeviceRGB();
cgContext = CGBitmapContextCreate(
base, width, height, 8, bytesPerRow, colorSpace,
kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst);
CGColorSpaceRelease(colorSpace);

CGImageRef cgImage;
cgImage = CGBitmapContextCreateImage(cgContext);

size_t bitsPerPixel = CGImageGetBitsPerPixel(cgImage);
size_t bitsPerComponent = CGImageGetBitsPerComponent(cgImage);
size_t bytesPerPixel = bitsPerPixel/bitsPerComponent;

CGDataProviderRef provider = CGImageGetDataProvider(cgImage);
CFDataRef bitmapData = CGDataProviderCopyData(provider);
const UInt8* data = CFDataGetBytePtr(bitmapData);

// Calculate the average luminance
float avgLuminance = 0.0;
for(int row = 0; row < height; row++){
for(int col = 0; col < width; col++){
const UInt8* pixel = &data[row*bytesPerRow + col*bytesPerPixel];
avgLuminance += (pixel[0]*0.114) + (pixel[1]*0.587) + (pixel[2]*0.299);
}
}
avgLuminance /= (width*height);

CGImageRelease(cgImage);
CGContextRelease(cgContext);
CFRelease(bitmapData);

CVPixelBufferUnlockBaseAddress(buffer, 0);
}

参考:stackoverflow - iOS- Using RGB camera data to make a rough proximity sensor

基本的には、上記の方法でキャプチャしているデータの明るさを取得することができます。

実際には多少の修正を加えており、2〜3秒間で明るさのサンプルを採った平均値から差分を取得するように実装しています。

あとは他に必要ならば、変数を用いて各スイッチ機構、禁則動作機構などを実装して完成です。




通常、AppStoreのアップデートには7日ほどかかるのですが、今回はなんと1日でレビューを通りました!

上記の動作が実装されている「toOne コイントス」は以下のリンクからダウンロードできます。

toOneAdBanner.png



その他のアプリごとの制作過程は、ブログの開発記カテゴリから一覧表示する事が出来ます。
プロフィール

Airwire(えあわいやー)

Author:Airwire(えあわいやー)
 
iPhoneアプリ開発者です。
開発手記などを載せていこうと
思っています。

Feedback Recorder
(itun.es/i6Sw4dw)
累計40万ダウンロード達成!

作成したアプリケーションは画面右のリンクから

アプリの制作過程は左下のカテゴリでまとめて見られます。

リリース報告&要望、報告受付は
Twitterアカウント@Airwire_product
にて行っております。

連絡先
dev.airwire[@]gmail.com
@の横の[]を削除してください

Developer's Twitter
最新記事
月別アーカイブ
カテゴリ
作成したアプリの紹介
公開中のアプリ
検索フォーム
Airwire products. QRコード
iTunesのアーティストページが開きます
QR