2013年3月31日日曜日

AppStoreに申請 reject

3/24に申請したiPhoneアプリが3/30にリジェクトされていました。
1週間以内に審査していただけましたね。
今回、リジェクトされた理由は、
ガイドラインの
18.2: Apps that contain user generated content that is frequently pornographic (ex "Chat Roulette" apps) will be rejected
Nakamap SDKを利用して、チャットを入れているのが、抵触したみたいです。
Nakamap SDKのサポートに回避方法を問い合わせているのですが、
来週まで対応できなかったら、外してリリースしようかなー
•••機能が少なくなってしまうのですが。。。

2013年3月24日日曜日

AppStoreに申請

本日、遂にAppStoreにリリースしました。

リジェクトくらうのも覚悟の上ですが、とりあえず出してみました。
どうなることやら。

Kobold2dを使用して、リリース用パッケージを作るのに、多少苦労しました。
自分のプロジェクトと、Kobold2d側もDistributionの設定を行う必要があるんですね。
http://ryufloat.blog.fc2.com/blog-entry-15.html


ではでは、変換があったら、また投稿します。

2013年3月3日日曜日

Google AdMob Ads SDK 6.3.0 for iOS

iPhone版アプリの開発には、Kobold2dを使ってみています。
Kobold2d は、cocos2d for iPhoneをラップして簡単にアプリ開発が
できるフレームワークです。

広告は、iAdとAdMobに対応してたのですが、
Kobold2d version2.1.0から、AdMobのバージョンアップについていけないと書いてありました。
Xcodeのバージョンアップにも、自分はついていけてないのでさっぱりです。

ですが、自分が持っているアカウントはAdMobに対応させたいので、
作成したプロジェクトに直接追加しました。

■設定
•AdMobのダウンロード
ここからダウンロード
•AdMob導入
Google AdMob Ads iOS(初級)
※ここに記載されている手順では、エラーが発生します。

•GADBannerView.h file not found
ビルドのパスが足りてない
Xcodeでプロジェクトを選択し、TARGETを選択 → Build Settings → Serch Paths → Library Search Paths → "$(SRCROOT)/GoogleAdMobAdsSDK" を追加
※パスは、適宜修正してください。

TARGETS → Build Phases → Link Binary With Libraries に libGoogleAdMobAds.a
を追加

TARGETS → Build Phases → Link Binary With Libraries に AdSupport.framework
を追加
これは、Optionalで設定しなければiOS5でエラーとなるようです。
•undefined symbols for architecture armv7s
Xcodeでプロジェクトを選択し、TARGETを選択 → Build Settings → Linking → Other Linker Flags
DebugとReleaseの値のところをクリック → + → -ObjC を追加

■実装
•GameLayer.h修正
#import "GADBannerView.h"
#define MY_BANNER_UNIT_ID @"AdMob管理画面で発行したパブリッシャー ID"
•GameLayer.m修正
-(id) init メソッドに
[self performSelector:@selector(startAd) withObject:self];
を追加
以下のメソッドを定義
-(void) startAd
{
    KKAppDelegate* appDelegate = (KKAppDelegate*)[UIApplication sharedApplication].delegate;
    bannerView_ = [[GADBannerView alloc]
    initWithFrame:CGRectMake(0.0,
                appDelegate.rootViewController.view.frame.size.height -
                GAD_SIZE_320x50.height,
                GAD_SIZE_320x50.width,
                GAD_SIZE_320x50.height)];

    // 広告の「ユニット ID」を指定する。これは AdMob パブリッシャー ID です。
    bannerView_.adUnitID = MY_BANNER_UNIT_ID;

    // ユーザーに広告を表示した場所に後で復元する UIViewController をランタイムに知らせて
    // ビュー階層に追加する。
    bannerView_.rootViewController = appDelegate.rootViewController;
    [appDelegate.rootViewController.view addSubview:bannerView_];

    // 一般的なリクエストを行って広告を読み込む。
    [bannerView_ loadRequest:[GADRequest request]];
}

これでOK

•Kobold2dは、ARCがデフォルトでONになっているため、
deallocでbannerView_のreleaseは必要ないかなー!?
#ifndef KK_ARC_ENABLED
-(void)dealloc {
    [bannerView_ release];
    [super dealloc];
}
#endif

スマートフォンの解像度調べ

アプリを作成する場合、画面サイズをどうしようかと考えることがあります。

参考にしたサイト
スマートフォン・タブレット画面解像度一覧(2013年1月時点で発売・発表されている端末)
※iPhone、Androidのみです。

•iPhone
cocos2dは、デフォルトで480x320に設定されています。
入門書なども同じサイズを基準としています。
でも、これってiPhone3GSのサイズなんですよね〜
そろそろ、iPhone3GSのサポートは切っても大丈夫かな?
iOS 5.1から一ヶ月、利用iOSバージョンとiPhone端末のシェア比較 (2012年4月)
Retinaディスプレイの960x640がいいのかも。

•Android
Androidのサイズは、480x800を基準にして、
ゲーム画面を真ん中に配置、
 縦画面表示の場合、上下の隙間は目をつぶって
 横画面表示の場合、左右の隙間は目をつぶって

という対応でどうでしょう。