iPhoneアプリ開発局「アプスター」 -18ページ目

iPhoneアプリ開発局「アプスター」

iPhoneアプリの開発に関するお役立ち情報や開発日記、稼ぎの話などを中心としたブログです。

キタ━━━━(゚∀゚)━━━━!!

やりましたよ

ええ、やりましたとも


2.21リジェクトを食らったアプリについてなんですが、

前回の記事でも言っていたように

昼ごろ、Appleに対して抗議文を送ったところ

あっさりアクセプト(審査を通過すること)されました


ここからAppleとの長い長いやりとりが始まると思っていたので、

正直な話かなり拍子抜けしましたw



おそらく、私と同じようにリジェクトで困っている人って多いと思うので、

送った抗議文の内容など、

リジェクト対応の詳細は後日改めてまとめてみようと思います。

追記:2.21リジェクト対策の詳細記事はコチラ



ちなみに、今回アクセプトされたアプリは

12月9日にリリースを予定しています。

その時に、改めてアプリ紹介の記事を書きますので、

見て頂けると嬉しいです



それでは、また

表題の通り、恐れていた事態になりました。

以前の記事でお話した申請中の診断アプリが

リジェクト(審査落ち)を受けてしまいましたorz


2.21リジェクトと言い、

作成したアプリがテキストや音楽、動画の何れかのみで

構成された単純なアプリに申し渡されるリジェクトです。


今年の3月頃にiBookストアができた関係で

テキストベースのアプリの審査が非常に厳しくなっているようです。

(要は、テキストベースならiBookストアに提出しろ、みないに言われます)


確かにテキストベースだけど

診断アプリが本になるかよっ!って話ですねw


前回の審査でも同様の内容でリジェクトされたので

少しでも改善するために、

BGMを追加したり、ユーザーによる操作機能を追加したり

結構頑張ったんだけどなー


このアプリはこれ以上の修正が難しいため
(これ以上修正を入れると、当初の方向性から大きくずれ、ブレブレな内容のアプリになる)

現在、Appleに「これは本じゃなくて診断アプリだよ」っといった内容の

抗議文を提出中です。


抗議文で審査結果を覆すことができることもあるそうなんですけど

どうなるんでしょうね・・・


というか、このアプリが通らなかったら

現在作っているアプリも必然的に通らない事になります。(どうしよう


そのため、一時開発を中断して

何とか修正を入れられないか努力してみます。


それでは、また


追記:
審査に突破しました  詳細はコチラの記事
さて、今回は自前で作成したクラス(カスタムクラス)を

NSUserDefaultsで保存する方法です。


NSUserDefaultsは前回お話しした通り、

NSArrayやNSData型のオブジェクトしか保存することが出来ません。


通常ならこれでも、データを管理する分には事足りるんですが、

場合によっては自作したクラスでデータを管理したいですよね。


では、どのようにして自作クラスを保存すれば良いでしょうか


解決方法としては、自作クラスを

NSUserDefaultsでも扱える型にエンコードすることが挙げられます。


【自作クラスをNSDataにエンコードする方法】
まず、NSDataにエンコードしたい自作クラスで

NSCodingプロトコルを使用します。

今回、エンコードするクラスをhogeObjectクラスとします。

ヘッダー定義
hogeObject.h
@interface hogeObject : NSObject <NSCoding>{
     int hogeint;     
     NSString
*hogestring;
}

@property
int hogeint;
@property NSString *hogestring;

@end


実装
部定義
hogeObject.m
@implementation hogeObject

// シリアライズ時に
自動で呼び出される関数
-
(void) encodeWithCoder:(NSCoder *)coder {
     [coder encodeInt : hogeint forKey:@"hogeint"];     
     [coder encodeObject : hogestring forKey:@"hogestring"];
}

// デシリアライズ時に
自動で呼び出される関数
 
- (id) initWithCoder:(NSCoder *)coder {
    
self = [self init];
    
if (self) {         
          hogeint
= [coder decodeIntForKey : @"hogeint"];
          hogestring
= [coder decodeObjectForKey : @"hogestring"];
    
}     
    
return self;
}

@end

上記のencodeWithCoder関数

hogeObjectクラスをNSDataにシリアライズ(暗号化)する際に、

initWithCoder関数は


暗号化されたNSDataをhogeObjectにデシリアライズ(復号化)する際に

自動で呼び出されます。


あとは、NSUserDefaultsで保存、読み込みをする際に

以下のようにアーカイブ化する関数を呼び出せばOKです

この関数はどのクラスで定義しても構いません。


保存・読み込み関数
//hogeObjectの作成
hogeObject *hoge = [[hogeObject alloc] init];
hoge.hogeint = 0;
hoge.hogestring = @"hogehoge";

//保存用自作関数
- (void) saveUserDefaults{
     NSData *data = [NSKeyedArchiver archivedDataWithRootObject : hoge];     //暗号化
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
     [defaults setObject:data forKey:@"hogedata"];

     BOOL successful = [defaults synchronize];
     if (successful) {
          NSLog(@"データの保存に成功しました");
     }
}

//読み込み用自作関数
- (void) loadUserDefaults{
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
     NSData *data = [defaults dataForKey:@"hogedata"];
     if (data) {
          NSLog(@"データを読み込みました");
          hoge = [NSKeyedUnarchiver unarchiveObjectWithData:data];    //復号化
     }else{
          NSLog(@"データが格納されていません");
     }
}

上記関数の太字部分がシリアライズ、デシリアライズするためのアーカイブ関数です。


この方法を覚えておけば

データの保存で困ることはまず無くなるでしょう。


それでは、また

サンプル

ロゴ(仮)ができました

画像はタイトル画面のサンプルです。

それにしても、ようやく開発日記らしい記事が書けましたねw


タイトルから分かる通り、

男性向けの恋愛診断アプリをつくろうとしています。

似たようなアプリはイロイロありますが、

可能な限り差別化を図っていくので

違った感じのアプリになるかと思います。



今心配なのは、競合アプリなんかよりも

Appleの審査ですねw


もう一つ診断系のアプリを出しているんですが

そちらは一度リジェクトを受けており

現在、修正を入れて再提出中です。



つまり、今現在、私のつくる診断アプリは

Appleの審査に通るか微妙なラインにいるということです。


気合を入れてタイトル画像まで作ってしまいましたが、

先に出したアプリが審査に通過しなければ、

このアプリも審査に通過できない可能性が非常に高い訳ですね


そろそろ、前のアプリの審査が始まる頃なので

正直、気が気でありません


今できることは、審査に通過するよう祈り続けるしか無いんですけどねw


それでは、また


こんにちわ

フジヒロです。


今日からいよいよ12月に突入ですねw

私は現在姫路に住んでいるんですが、

ここ1週間くらいで一気に寒くなりました


少し前までは「風が吹けば寒い」程度で

日差しは暖かく、室内でも暖房を一つつければ十分でした。


が、ココ数日では寒さで目が冷めてしまうほど

冷え込んでしまいました。


今日なんて布団が全部はだけてしまい

丸まりながら、必死に寒さに耐えているトコロで目が冷めましたw

おかげでちょっと風邪気味です

皆さんも寒さ対策は十分に気をつけてくださいね


さて、これだけ寒くなってくると

やっぱり鍋が食べたくなってきますよねw

っえ鍋嫌い

私は鍋大好きですよ

特に水炊きなんかはサイコーですねw

鍋をつつきながらビールをクイッと1杯ひっかける

これだけで心も体もぽっかぽかですねww


という訳で、今夜は鍋です、水炊きです

鍋を食べて疲労回復をはかり、

開発意欲もUPさせていこうと思います


それでは、また