App Storeが予定通り価格改定

LINEで送る
Pocket

事前の告知通りApp Storeの価格が改定されましたね
20%アップと結構大きな値上げです

USD $0.99 $1.99 $2.99 $3.99 $4.99 $5.99
旧JPY 100円 200円 300円 400円 500円 600円
新JPY 120円 240円 360円 480円 600円 720円
USD $6.99 $7.99 $8.99 $9.99 $10.99 $11.99
旧JPY 700円 800円 900円 1,000円 1,100円 1,200円
新JPY 840円 960円 1080円 1,200円 1,300円 1,400円

Mac App Storeの方も値上げされてますね。
僕の欲しいSketch 3がどんどん高くなっていくな。もうしばらくIllustrator CS4で頑張ろうか・・・

LINEで送る
Pocket

App Storeの価格改定

LINEで送る
Pocket

Appleから24時間以内にApp Storeの価格改定をしまっせーというメールがきました。いや、変更後の価格も教えて欲しいんだけど・・・

SIMフリーのiPhone 6も値上がりしましたし、当然のことながら値上げになるのでしょうね。

とりあえず2015年4月2日時点での価格はこんな感じ。

USD $0.99 $1.99 $2.99 $3.99 $4.99 $5.99
JPY 100円 200円 300円 400円 500円 600円
USD $6.99 $7.99 $8.99 $9.99 $10.99 $11.99
JPY 700円 800円 900円 1,000円 1,100円 1,200円

今の価格はわかりやすくてよかったんだけど、さてどうなるのかな

LINEで送る
Pocket

iPhoneアプリをiPadで動かした場合にエラーが出るとリジェクト

LINEで送る
Pocket

当たり前といえば当たり前ですが、表題の通りです。iPhoneアプリはiPadにインストールすることができるので、iPadでもちゃんと動作しないとリジェクトになります。

iPhoneでちゃんと動いてるんだから大丈夫だろうと動作確認しなかったら、iPadで不具合が出ていてリジェクトになりました。

具体的にはiAdの部分。iPadでiPhoneアプリを動作させるとiAdが読み込まれず、iAdが読み込まれることを前提とした処理をしていて落ちてしまっていたようです。

大抵のアプリは問題ないと思うのですが、面倒でも一通り動作確認はしたほうが良さそうです。

LINEで送る
Pocket

iOSのプロジェクトに独自のフォントを組み込む方法

LINEで送る
Pocket

システムにないフォントをプロジェクトに追加する方法です
今回は「PixelMplus12-Bold.ttf」というドッド風のフォントを追加してみます。

使いたいフォントをプロジェクトに追加

まず、プロジェクトにフォントを追加します。プロジェクトのファイルリストに利用したいフォントファイルをぐわっとドラッグします。今回は「PixelMplus12-Bold.ttf」

プロジェクトにフォントを追加する

プロジェクトの設定

Build PhasesのCopy Bundle Resourcesに今プロジェクトに追加したフォントを追加します。(もしかしたらすでに追加されているかも?)

プロジェクトにフォントを追加する

実際に利用してみる

Storyboardから利用する場合

UILabelを設置して、フォント一覧から先ほど追加したフォントを選択します。とても簡単。

プロジェクトにフォントを追加する

バッチリ利用できました。
プロジェクトにフォントを追加する

ソースコードで指定して利用する場合

ソースはこんな感じ。

let rect = CGRectMake(0, 30, 320, 20)
let label = UILabel(frame: rect)
label.textAlignment = NSTextAlignment.Center
label.text = "ソースコードでフォントを利用"
label.font = UIFont(name: "PixelMplus12-Bold", size: 20.0);
self.view.addSubview(label)

UIFontで指定するのはファイル名ではなく「PostScript名」です。
「PostScript名」はMacの標準アプリ「Font Book」で調べることができます。(今回はたまたまファイル名とPostScript名が同じ「PixelMplus12-Bold」でした)

プロジェクトにフォントを追加する

Storyboardで同じフォントを利用している場合は、これだけで表示されるようになります。

プロジェクトにフォントを追加する

ただし、ソース内だけで利用している場合は、Info.plistにフォントの指定をする必要があります。

プロジェクトにフォントを追加する

Storyboardで使用しているフォントを他のフォントに変えたら、先ほど利用できていたフォントも使えなくなったよ・・・

この場合Info.plistに「Fonts provided by application」を追加して、利用したいフォントのファイル名を指定すればOKです。今回指定するのは「ファイル名」です。

プロジェクトにフォントを追加する

iPhoneも画面サイズのパターンが増えてきたので、文字を画像ではなくテキストで表示できるとかなり作業量が減らせそうですね

LINEで送る
Pocket

Swiftでの遅延処理の実装

LINEで送る
Pocket

ちょっと時間を置いてから処理をしたいな〜という場合、Objective-Cだと、

– (void)performSelector:(SEL)aSelector
withObject:(id)anArgument
afterDelay:(NSTimeInterval)delay

が使えていたんですが、Swiftだと存在しないんですよね。
困ったなーといろいろ調べたところ、こちらで実装すれば良いようです。

func dispatch_after(_ when: dispatch_time_t,
_ queue: dispatch_queue_t!,
_ block: dispatch_block_t!)

こんな感じです。

// 
println( "現在" )
let delay = 60.0 * Double(NSEC_PER_SEC)
var time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
dispatch_after(time, dispatch_get_main_queue(), {
    println( "1分後の世界" )
})
LINEで送る
Pocket

ステータスバーを非表示にする方法(iOS 8)

LINEで送る
Pocket

ステータスバーを非表示にする方法です。
忘れっぽいのでメモです。

プロジェクトの設定

プロジェクトの設定画面からターゲットを選び、「General」タブを選んで、「Deployment Info」の「Hide status bar」をチェックします

ステータスバーを非表示にする方法

Info.plistの設定

先ほどのプロジェクトの設定で「Hide status bar」をチェックすると「Status bar is infinity hidden」が「YES」として追加されているはずなので、それはそのままで。この項目はプロジェクトの設定画面のチェックボックスと連動しているみたいですね。

それとは別に「View controller-based status bar appearance」を追加して「NO」にします。

ステータスバーを非表示にする方法

これでステータスバーが非表示になります

LINEで送る
Pocket

マイクアクセス許可のダイアログをベストなタイミングで表示する

LINEで送る
Pocket

iOS 7からだったかな?アプリがマイク機能を使用しようとすると、アクセス確認のダイアログが表示されるようになりました。

アプリが勝手にマイク機能を使ってこっそり録音したりすることがないように、このように確認ダイアログを出すようにしているわけですね。

ですが、いざ録音しようとしたらダイアログが表示されて、録音のタイミングを逃すということも考えられます。なので、ダイアログ表示のタイミングをアプリ側で上手く調整する必要がありそうです。

例えば先日リリースした「こえにっき」だと、録音ボタンを押した時点でダイアログがでないように、アプリの起動時にダイアログを表示するようにしています。

実際に録音する必要はなく、以下の1行を追加すればダイアログが表示されます

AVCaptureDevice.requestAccessForMediaType(AVMediaTypeAudio, completionHandler: {(granted: Bool) in})

ちなみに、この確認ダイアログですが、1度表示されるとアプリを削除して再インストールしても表示されなかったり、シミュレータでは表示されなかったりと、なかなかデバッグが厄介です。ですが、以下の手順を踏めば表示されるようになります。

1.アプリを端末から削除する
2.設定から日付をずらす
3.アプリを再インストール

若干面倒ですが、これで再表示されます。

LINEで送る
Pocket

UIColorからR,G,Bを取得する方法(Swift)

LINEで送る
Pocket

UIColorからRGBaそれぞれの値を求める方法です
昔はもうちょっと面倒でしたが、iOS5から簡単に取得できるようになりました。

//
// 変数が初期化されていないとエラーになるので、とりあえず1.0で初期化
var red: CGFloat     = 1.0
var green: CGFloat   = 1.0
var blue: CGFloat    = 1.0
var alpha: CGFloat   = 1.0

// 今回は赤でやってみます                
var myColor = UIColor.redColor()
myColor.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
        
println( "R:\(red) G:\(green) B:\(blue) a:\(alpha)" )
// コンソールへの出力結果
// R:1.0 G:0.0 B:0.0 a:1.0

LINEで送る
Pocket

iPhoneのカメラアプリ「リラックスカメラ」をリリースしました

LINEで送る
Pocket

バックカメラで写していると思わせて、実はフロントカメラで撮影しちゃったよ〜というジョークアプリです。

リラックスカメラの機能

友達に撮影を頼んで写してもらえば、友達の油断した表情が撮れるかも?
密かに心寄せるあの娘に撮ってもらえば・・・うーん、自分の若い頃に欲しかったな

カメラプレビューで表示されている画像と実際に撮れる写真が違うので、もしかしたらリジェクトされるかも・・・と思ったのですが、意外と普通にリリースされました。といっても、Appleはリリースしたアプリを突然勝手に削除することもあるので油断は禁物ですが。

無料なのでよかったら使ってみてください。
アプリ内課金で、広告削除と撮影後プレビューのON/OFF機能が追加されます。

ちなみにこのアプリの度重なるテストで、僕のiPhoneのアルバムは間抜けな僕の顔だらけです・・・

LINEで送る
Pocket

iPhoneアプリ「こえにっき」をリリースしました

LINEで送る
Pocket

iPhoneアプリ「こえにっき」をリリースしました。
声で日記をつけよう!というアプリです。

録音機能

録音機能

最大1分の録音を1日3回することができます。
録音ボタンを押している間だけ録音します。(Vineみたいな感じ)

再生機能

再生機能

カレンダーから日付を選んで、その日の日記を再生したり、リスト画面で全ての日記を連続再生することができます。ちょっとぎこちないですが、日付も読み上げるので、他のことをしながら過去を振り返るのも面白いかも。

連続再生

録音データのバックアップ

iTunesファイル共有

iTunesファイル共有でパソコンに録音したデータを保存することができます。
子どもが初めてしゃべった言葉のような、永遠に残しておきたい!という録音があった場合は、この機能でパソコンにバックアップすることができます。

ちなみに、「iTunesファイル共有」は、パソコンアプリのiTunesから接続中のiPhone/iPadを選んで、左メニューの「App」を選んで表示されたページの下の方にあります。少しわかりにくいですね。

アプリは無料なのでよかったら試してみてください

LINEで送る
Pocket