FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

UITableViewのスクロール中にNSTimerが停まってしまう [Xcode]

開発中のアプリで、UITableViewのテーブルの隣に NSTimerを使って時間を表示しているのですが、テーブルをスクロールすると時間表示が止まってしまうことに気づきました。
スクロールしようとテーブルをタップした瞬間から指を離すまで、時間表示がピッタリ止まってしまいます。

これはテーブルのスクロールと NSTimerが両立されないため、スクロール中は NSTimerが更新されないのが原因です。UITableViewの他に UIScrollViewでも同様だそうです。



これを回避するには、NSRunloopというのを使って NSTimerをオマジナイします。
    // NSTimer設定
NSTimer *timer = [NSTimer timerWithTimeInterval:1.0
target:selfselector:@selector(myTimerAction:) userInfo:nil repeats:YES];

// NSRunLoopのオマジナイ
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

NSRunloopが何者なのか、いまいちわかってないのですが(オイ)、これで無事スクロール中も時間表示ができるようになりました。
関連記事
スポンサーサイト

Ad広告でリジェクト [アプリ審査]

この度、アプリ「クイズボタン」の ver1.3 アップデートを行いました。

アップデート申請は2月3日に節分の豆を食べながらしたのですが、2月10日にリジェクトを食らってしまいました。

理由は「3.1: 他のモバイルプラットフォームについて記載がある」というもの。スクリーンショットが添付されてまして、それには思い切り Androidの Ad広告がありました。これはいけません。

その画像がこちら。最上部が問題の広告です。モザイクを掛けております。



「クイズボタン」では日本語版と英語版で違う Adサービスを使っていて、問題が出たのは英語版の Adサービスのものでした。Androidの広告が出ることにはこれまで気づいていませんでした。
広告をブロックするにはどうすればいいのか調べてみたところ、どうやら特定のキーワードを外すテキストフィルタリングを設定するようです。ここに "Android"と入力すればその広告は表示されなくなると。

でもこのテキストフィルタリングをしても、審査に引っかかるような他の広告が出たらヤだな〜、ということで、広告自体をエイヤと iAdに変更しました。
iAdって組込みが面倒そうで今まで敬遠してましたが、実装してみると今までのAdサービスより簡単でした。どうやら食わず嫌いだったようです。

そして2月12日に再申請をし、本日2月18日に ver1.3が無事公開されました。よかったよかった。
このように Adが原因でリジェクトされることもあるんですね。気をつけたいと思います。
関連記事

iPad mini用ケース購入 [iPad mini]

iPad mini用のケースを購入しました。

純正の Smart Coverもイイんですが、やはり裏面もカバーしたいということで、裏面全体を覆う半透明のケースに、Smart Coverと同様の三つ折りのフタが付いてるタイプにしました。

近所の家電屋には気に入ったのが無かったので、Amazon通販で購入。色はもちろん白です。なんと580円という破格値で売ってました。



早速装着。いい感じですね〜。

半透明ケースが裏面全体にフィットし、サイドにある小さなツメで mini本体をホールドする感じです。

はめ込みはカッチリしてます。またケースのフチはminiの表面にかぶらない構造なので、画面端でのスワイプ操作時にも邪魔になることはありません。

フタの裏側はマイクロファイバーになってて、画面を傷つけないようになってます。



裏面はこんな感じ。半透明なのでアップルマークが透けてるのがいいですね。
カメラ部や側面の操作スイッチ、底面のスピーカー部分は余裕を持って切り欠いてあるので、スムーズに操作できます。



はい、このようにカバー部分を三つ折りにして、miniを立てることが出来ます。安定感はまずまず。純正の Smart Coverと同等じゃないかと思います。

また、フタを開けるとスリープから復帰する機能がかなり便利ですね。購入前は重視してませんでしたが、ホームボタン押してスライドアンロックという手間が無くなると、操作性がグッとアップしたように感じます。



これで miniを横向きに立てて作業ができます。ケースとフタで防御力もバッチリ。なかなかにいい感じのケースが安くゲットできてよかったです。

しかし残念なことに、このケースはすでに販売終了になってしまいました。むむ、在庫処分で安くなってたのかも。でも、きちんと使えるので品質に問題はないですね。

似た感じのケースをご紹介しておきます。こちらも実売1000円台とリーズナブルで、色も多くの種類から選べます。
i-Beans【全8色】iPad mini用PUレザーケース ハニカム柄 アップル アイパッド ミニ ケース スタンド機能付 ブラック PU Leather Case for iPad mini(4212-4)i-Beans【全8色】iPad mini用PUレザーケース ハニカム柄 アップル アイパッド ミニ ケース スタンド機能付 ブラック PU Leather Case for iPad mini(4212-4)
()
i-Beans (iPad mini)

商品詳細を見る
関連記事

Xcodeの配列でハマる [Xcode]

今開発中のボードゲームのアプリで、ハマったことがありました。

アプリでは5×5のボードを表示し、画面タップでボード内のコマの数値が変わります。
またUNDO機能のためのバッファも設けました。
コード上ではボードとUNDOバッファのそれぞれに配列を用意しました。

 int board[25];    /* ボードの数値を保持 */
 int undoBuf[25];  /* UNDO用のバッファ */

そしてアプリを動作させてみると、なぜかたまにundoBufの一部が
変な値に書き変わってしまう現象が起きました。

コード上でundoBufの書き込みをしている部分をいくら調べても、おかしな所はありません。
どうやら画面をタップした際に書き変わってるようなんですが。
あれこれ悩むこと2日、ついに原因が。

実は画面タップ位置からコマ番号を割り出すルーチンに記述漏れがあり、
ボード外をタップすると「コマ番号 = 37」とかが取得されてしまっていました。
そしてその値を使って範囲外の board[37]を書き換えようとして、
メモリ上で boardの隣にある undoBufを書き換えてしまっていたのでした。

いやー、こういうのって Xcodeの警告出ないんですね。

試しにこのコードだとエラーが出ますが、
 int board[25];
 board[50] = 0;

こちらは出ません。ぬぬ。
 int board[25];
 int i = 50;
 board[i] = 0;

これは要注意ですね。
でも原因が分かってよかったです。
関連記事

サイトのデザイン変更

現在COM対戦が出来るゲームアプリを開発中なんですが、COMの思考ルーチンがなかなか定まりません。
数日コーディングをがんばっているものの、すごくアホなCOMになっちゃってます。むむむ。

その気晴らしに、今までほぼテンプレートそのままだったサイトのデザインを変えてみました。
背景画像を使わずにシンプルな感じにしました。

本当は背景画像を使ったり、カドを丸くしたりもしたいんですが、そうすると際限なく凝り始めてしまうので、今回はこれくらいで勘弁しといてやろう。

アプリ「クイズボタン Pro」公開 [App]

アプリ第4弾、「クイズボタン Pro」が App Storeで公開されました!

「クイズボタン」のPro版として、アプリレビューでもご要望のあった点数表示機能が付きました。



早押しクイズのサポートをするアプリです(問題文は入っていません)。
友達との遊びで、パーティーで、合コンで、クイズ大会で。
いろいろな場所で早押しクイズを楽しむことができます。

アプリの機能
・出題者1人と回答者(4人まで)で遊びます。
・出題者が問題を出し、回答者が早押しでボタンを押すと、先着順で回答番号が出ます。
・回答者がなかなか答えない時は、タイマーボタンで5秒カウントできます。
・回答者が不正解したら、次の回答者に回答権が移ります。
・NEXTボタンで回答ボタンの表示がリセットされ、次の問題に進みます。
・各ボタンには楽しいアニメーションと効果音が付いています。
・回答者の受付方法と、間違えた場合の動きは、設定で変更できます。

回答者の受付方法は、全員でボタンを押しても一番早かった一人のみを受け付けるか、
押した順に全員を受け付けるかです。
また不正解時の動きは、間違えたら次の人に回答権が移るか、
そのまま終了して次の問題にいくかです。



PRO版のみの機能として、各回答者の点数が回答者ボタンの上に表示されます。
回答者が正解する毎に点数が10ポイントアップし、
不正解の場合は -0、-5、-10ポイントダウンします(設定で変更可能)。
点数を表示させるとかな〜り盛り上がりますよ。
点数に応じて罰ゲームやご褒美をやっても面白いですね。



以下のアップデートを行いました。

-2013/10/08-
Ver 1.5
・iOS7に対応しました。
・各ボタンの音を鳴らす効果音パネルを追加しました。
 好きなときに効果音を楽しめます。

-2013/04/16-
Ver 1.4
・マイナーなバグを修正。


App Storeへのリンクはこちらです。¥100のアプリです。
QuizButton - K App Design←日本語版 英語版→QuizButton - K App Design
関連記事

テーマ : iPhoneアプリ ジャンル : 携帯電話・PHS

iPad mini購入!!

このたび、iPad miniを購入しました!!

アプリ開発のためにもぜひとも欲しかった iPad mini。AppleStoreでの出荷予定も「3−5営業日」と短くなってきたので、水曜の夜にエイヤと注文。そしたら翌木曜の午後には出荷の連絡が来ました。素晴らしい。

そして本日我が家に到着した iPad mini。16GB白の Wifiモデルです。う〜ん、このシンプルな白い箱がいいですね。



早速箱オープン。おお、ついに会えました。Apple製品はいつもこの対面の瞬間がワクワクします。

量販店の店頭で触ったことはありましたが、高さちょうど20cmのその姿を改めて見ると、思ったより小さいなという印象です。
そして持ってみるとやはり軽い。片手で長時間持っても疲れない軽さだと思います。



他に添付されてるのは小さな説明書、ACアダプタ、USBケーブルの3点。こちらもシンプルです。

Lightningコネクタって小さいですね。先端は小指の爪位のサイズです。リバーシブルで裏表の区別無く挿せるのがかなり便利です。世の普通のUSB端子もこれを見習ってほしい。



初期設定を済ませたホーム画面。画面が点灯すると小ささを感じなくなる不思議があります。

画面をしばらくいじった後に iPhoneをいじると、うわ iPhone画面ちっちゃ!と思ってしまいます。



まだ慣れてませんが、いい買い物しちゃったな〜という感覚がフツフツと湧いてきてます。
さあ、今後の iPad版アプリの開発にも生かしていきましょう!
関連記事
Appご紹介
K app designのAppをご紹介します

ねこわけ

画面中央の猫を次々に仕分けるゲームです。

あまり計算機

あまりを計算できる割算専用の計算機です。

6オクターブ ピアノ

6オクターブ鍵盤のピアノアプリです。iPad専用。

Dynamic Drum

様々な演奏法が楽しめるドラム演奏アプリです。

クイズボタン

早押しクイズのサポートをするアプリです。

クイズボタン Pro

クイズボタンに点数表示機能が付きました。

クイズボタン HD

クイズボタンのiPad専用版。回答者ボタンが8つに増量。

ベロシティ ピアノ

タップの強弱で音量が変わるピアノアプリです。

TIMERx4

4つのキッチンタイマーを同時に動作できるアプリです。

アナデジClock

アナログとデジタルが融合した時計です。
検索フォーム
最新記事
最新コメント
カテゴリ
人気ページ
月別アーカイブ
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。