[アプリ] EasyPost to Zaim(iPhoneアプリ)のversion3をリリースしました
こんにちは、iPhoneアプリ開発してます@yoheiMuneです。
数日前にEasyPost to Zaim(iPhoneアプリ)を3年ぶりにバージョンアップしました。なんせログインできないという致命的な状態だったんです。ちょっとだけ内容の紹介と、開発で体験したことや思ったことをブログに書きたいと思います。
僕自身も1日に3〜5回ほどZaimへ登録する(浪費してる?)ので、自分のためにも一瞬で登録できるようにと思い作っています。
もしよければ、以下からDLできますのでどうぞー。もちろん無料です。
https://itunes.apple.com/us/app/easypost-to-zaim/id630406685?mt=8
Objective-CとSwiftで共存する方法はこちらのブログで書きましたが、なかなか大変ですね・・。何が大変かというと、OBJC→Swift、Swift→OBJCのどちらへの参照もできるのですが、設計なく参照しているとすぐに循環参照に陥ってしまいビルドエラーになります。なので今回は、「Swift→Objectice-Cへ参照する」を基本スタンスとしました。
あと、今自分がObjective-Cを書いているのかSwiftを書いているのか分からなくなって、OBJC上でSwiftの書き方をしてコンパイルエラーになるというミスもしてましたw。そして実は一部の機能についてC言語での実装も行っていてました。1つのアプリに複数のプログラミング言語が共存するのはなかなか大変だなと思いました。
「横並びの4つのボタンの幅を合わせたい」とか「AutoLayoutでエラーになっているけど・・・」と1つずつ解消していった気がします。あと、プログラムからオートレイアウトを実装する場面もあり勉強になりました。その辺はまた今後ブログにでも書けたらと思います。
また良かった点としては、iOS標準パーツがデフォルトで搭載されていて使える、iPhone6などのサイズのアートボードがある、画像切り出しがメチャメチャ楽(1倍/2倍/3倍や横幅の絶対指定などレイヤーやグループに指定しておける)。
他にも配置するレイヤー(オブジェクト)の設定値がCSSと同じ感じだったため、設定が非常に楽でした(フロントエンドの知見が活かせたと思った)。あとは自分のデザインスキルが上がれば・・・、と思ってます。
最後になりますが本ブログでは、Swift・開発関連・Linux・フロントエンド・Python・Java・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!
数日前にEasyPost to Zaim(iPhoneアプリ)を3年ぶりにバージョンアップしました。なんせログインできないという致命的な状態だったんです。ちょっとだけ内容の紹介と、開発で体験したことや思ったことをブログに書きたいと思います。
目次
アプリ紹介
EasyPost to Zaimは、Zaimというオンライン家計簿に出費登録をするためのアプリです。出費登録に特化していて(入力履歴は閲覧できません)、できるだけ簡単に登録できるようにと思って作成しています。僕自身も1日に3〜5回ほどZaimへ登録する(浪費してる?)ので、自分のためにも一瞬で登録できるようにと思い作っています。
もしよければ、以下からDLできますのでどうぞー。もちろん無料です。
https://itunes.apple.com/us/app/easypost-to-zaim/id630406685?mt=8
開発で今回取り組んだこと
と、アプリの紹介はここまでにして、今回のアプリバージョンアップで取り組んだことを残しておきたいと思います。Objective-CとSwiftの共存
ファーストリリースはもう3年前で、その時にはバリバリにObjective-Cで書いていました(ARCが使えるようになった頃です)。そして今回改修しようと思って開いたらSwiftが使いたい訳で、共存する道を選びました(最初は全部Swiftにしようと思いましたが工数の無駄と思ってやめました)。Objective-CとSwiftで共存する方法はこちらのブログで書きましたが、なかなか大変ですね・・。何が大変かというと、OBJC→Swift、Swift→OBJCのどちらへの参照もできるのですが、設計なく参照しているとすぐに循環参照に陥ってしまいビルドエラーになります。なので今回は、「Swift→Objectice-Cへ参照する」を基本スタンスとしました。
あと、今自分がObjective-Cを書いているのかSwiftを書いているのか分からなくなって、OBJC上でSwiftの書き方をしてコンパイルエラーになるというミスもしてましたw。そして実は一部の機能についてC言語での実装も行っていてました。1つのアプリに複数のプログラミング言語が共存するのはなかなか大変だなと思いました。
AutoLayoutの利用
3年前と違ってiPhoneでも画面サイズがいろいろになってきた(3年前は3.5インチと4.0インチの2つだけだった)ので、AutoLayoutに手を出しました。最終的にはかなり自由に使えるようになってかなり良かったと思うのですが、最初はとっかかりが大変だったなーと思いました。例えばXibファイルやストーリーボードが正方形なのをスマホ型にするというブログを書きましたが、その辺から色々と詰まっていました。「横並びの4つのボタンの幅を合わせたい」とか「AutoLayoutでエラーになっているけど・・・」と1つずつ解消していった気がします。あと、プログラムからオートレイアウトを実装する場面もあり勉強になりました。その辺はまた今後ブログにでも書けたらと思います。
デザインにはSketchを利用
3年前はなんと、Gimpというフリーソフトを使ってアプリのデザインを作ってました(懐かしい)。そしてその後別のアプリではAdobe製品を使っていましたが、今回はとうとうSketchを使い始めました(仕事でも使っているのでプライベートにも導入)。さすがは画面レイアウト用のデザインツールといった感じで、Adobe Illustoratorような感覚で簡単に使うことができました。また良かった点としては、iOS標準パーツがデフォルトで搭載されていて使える、iPhone6などのサイズのアートボードがある、画像切り出しがメチャメチャ楽(1倍/2倍/3倍や横幅の絶対指定などレイヤーやグループに指定しておける)。
他にも配置するレイヤー(オブジェクト)の設定値がCSSと同じ感じだったため、設定が非常に楽でした(フロントエンドの知見が活かせたと思った)。あとは自分のデザインスキルが上がれば・・・、と思ってます。
最後に
兎にも角にも、古かったアプリ(そして動かなかったアプリ)を一新して改修できてよかったです。使ってもらえるかなどを見つつ、そして今後もさらに楽に登録できる機能(案はいっぱいある)を実装して、自分もみんなもメリットがあるアプリを作っていきたいなーと思います。最後になりますが本ブログでは、Swift・開発関連・Linux・フロントエンド・Python・Java・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!