カスタム検索

2010年4月23日金曜日

iPhoneでバイブレーションを作動させる



#import <AudioToolbox/AudioToolbox.h>

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);


AudioToolBoxをインポートして AudioServicesPlaySystemSound を呼ぶだけ・・・
Twitterでつぶやける程のコード量で拍子抜けしたw

2010年4月9日金曜日

Flex 自分メモ

・FlexBuilderでプロジェクトのプロパティ画面(Flexビルドパスなど)が表示されない時は、境界線をちょっと移動すると表示される。

・サイズが%指定の領域内でスクロールさせたい場合(VBox 100%など)は minHeight=0 を指定しておく

・ListのItemRendererでTextAreaなどを使用し、行数が増える場合データは正しく更新されるが、表示ははじめの行数のまま増えない。
この場合は itemRenderer="mx.controls.Text" を指定してやれば良い。

以上、メモ投稿

2010年4月6日火曜日

iPhoneおアプリ内課金について・その1

iPhoneでアプリ内課金をするのに色々と面倒だったのでまとめておく

概念とかはStoreKitガイド辺りで把握出来ますので、実際にコードに組み込む辺りを。


・まずはプロジェクトにStoreKitFrameworkを追加する。
プロジェクトの編集>一般>リンク済みライブラリの「+」から StoreKit.framework を選択して追加
なぜかリストには反映されないが、動作しているので気にしない
これってiPhoneアプリ的には常識なんでしょうかね・・・まったく知らなかったんでここに来るのすら苦労しましたw

・下準備

#import <StoreKit/StoreKit.h>

して、クラスに <SKProductsRequestDelegate> を追加する

こんな感じ


#import <StoreKit/StoreKit.h>

@interface TestLayer : NSObject <SKProductsRequestDelegate> {
}
@end




・購入するアイテムの情報を取得

SKProductsRequest *request=[[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:@"PRODUCT_ID"]];

PRODUCT_IDはitunes connectで指定したものをあてる。
通信中の処理待ちなどはアプリ側で各自実装、リクエストが終わると productsRequest がコールされる



-(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
// プロダクトの取得
SKProduct *product = [[response products] lastObject];

// アイテムのタイトル
NSLog(@"%@",product.localizedTitle);
}


request は requestDidFinish で解放してやりましょう



- (void)requestDidFinish:(SKRequest *)request {
[request release];
}



itunes connectへ課金アイテムの登録がうまくいっていれば、この時点でアイテムの名称がログに出力されます。
後は SKPaymentQueue の使い方と、テストユーザでの購入の仕方、その際のTIPS等