【Library】Task Completion ライブラリ

2014年4月29日火曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

Task Completionが数行で使える小さなライブラリ。



Task Completion や実装については下記を参考のこと。


iOS7からは10分→3分と短くなっている。本格的な処理はiOS7から導入されたバックグラウンド送受信を使い、こちらはそこまで大げさではないちょっとした処理の延長で使う位置づけになったのだと思う。

使い方は簡単で基本1行のみ。AppDelegateの中で setupメソッドを1回呼ぶ。
#import "LKTaskCompletion.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [LKTaskCompletion.sharedInstance setup];
    :
}

バックグラウンドのタスクが終了した時はできれば下記を呼んでおく。
[LKTaskCompletion.sharedInstance endBackgroundTask];

バックグラウンド処理を走らせたくないときは enabledプロパティを NOにしておく。
LKTaskCompletion.sharedInstance.enabled = NO;


サンプルプログラムがついていて、実行すると1秒単位で1行を消しこむ処理が走る。

残件がバッジに表示されていて、ホーム画面へ戻っても処理がバックグラウンドで行われているのがわかるようになっている。


CocoaPods対応 & MITライセンス





lakesoftのサポートページを開設しました

| Published in | 0 コメント

このエントリーをはてなブックマークに追加

自作アプリは lakesoft というブランドで出していますがそのサポートサイトを Facebookページに開設しました。


今後アプリのサポートはここで一括して行います。今までアプリごとにページを用意していたりしたのですが、一人でやるにはさすがにしんどくなってきたのでまとめることにしました。

ツイッターアカウントも用意しています。


ロゴは湖と太陽をイメージして作ってみました。



ちなみに github にもページがあります。


- - - - -
作って出すだけではなかなかダウンロードされないので、このブログもそうですが、自分のブランディングを少しづつですが進めてアプリの認知に役立てたいと考えています(もちろんサポート機能としても)。


アプリ【StackOne】最新バージョン 1.2 リリース「色とりどり」アピアランス対応

2014年4月25日金曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

エバーノート投稿アプリ【StackOne】の最新バージョン 1.2 がリリースされました。


今回の目玉はアピアランスのカスタマイズ対応です。ルール毎にベースカラーが変更できるようになりました。選べる色は25色。合わせてフォントの種類とサイズも指定できるようにしました。




バージョン 1.2 の内容


  • アピアランスカスタマイズ(ベースカラー、フォント種類、フォントサイズ)
  • ジェスチャーの追加
  • 日時置換オプションの追加
  • バグ修正

アピアランスカスタマイズ


ベースカラー、フォント種類、フォントサイズが変更できるようになりました。いずれもルール毎に設定が可能です。そうです、ルールを切り替えるとその場で色もフォントも変わるのです。


ルール毎に色を変えると視認性が良くなるし、さらには投稿毎の気分も盛り上げてくれますよ。選べるカラーは25色。フラットデザインにマッチする色を用意しました。


フォントはインストール済みのものが様々なバリエーションで選べます。



※現バージョンではダウンロードフォントには対応していません。

カラー変更はルールのみで設定可能です。フォント種類とフォントサイズは全体のデフォルト設定が可能です(ルールでは初期値がデフォルトに従うようになってる)。


ジェスチャーの追加


投稿画面のルール周りにジェスチャーを2つほど追加しました。

(1)長押し

ルールを長押しするとそのルールの設定画面が開くようになりました。設定後は投稿画面へ戻ります。

(2)ダブルタップ

ルールをダブルタップするとあらかじめ設定しておいたルールへジャンプします。もう一度ダブルタップすると直前のルールへ戻ります。ダブルタップを繰り返すとルール間を行ったり来たりするようになりました。
ジャンプ先は設定画面で指定が可能です。デフォルトでは「新規ノート」になります。




タイトル日時置換オプションの追加


タイトル置換に初回投稿日時を使う設定を追加しました。例えばローテーションを毎日 5:00とした時、4/6 23:50に初回投稿、4/7 4:30に最終投稿とした場合、タイトルの %date は 4/6となります。

ローテーション:毎日 5:00
4/6 23:50 初回:タイトル %date → 4/6
 4/7 04:30 投稿:タイトル %date → 4/6

今までだと 4/7投稿は 4/7になっていましたが、これを初回投稿の日時を基準に置換するようになりました。日をまたぐローテーション設定になっている場合でもタイトルを前日のものとして記録ができます。またこれは日単位に限らず他の時間単位でも同じです。

この設定の初期値はONになっており、全体の設定で切り替えられるほか、各ローテーションでも個別に変更が可能です。





・この設定がOFFの場合は先ほどの例だと %dateは 4/7 となります(今までの動作)。
・日時以外(いは従来どおり最新の情報が使われます。
・この処理はバージョンアップ後にローテーションが発生した時から適用されます。バージョンアップ直後などは適用されていないのでご注意下さい。


バグ修正


・ & があると送信エラーになる問題が修正されました。
・投稿画面でルールをフリック変更した時にノートブックとタグが変更されない問題が修正されました。


----


色とりどりになった StackOne を是非お試し下さい




アプリ【StackOne】最新バージョン 1.1 リリース「さくさく投稿」

2014年4月7日月曜日 | Published in | 9 コメント

このエントリーをはてなブックマークに追加

エバーノート投稿アプリ【StackOne】の最新バージョン 1.1 がリリースされました。



今回の目玉はいくつかありますが、その一つは『オフライン対応』です。以前のバージョンではサーバへの送信が終わるまでは次の入力ができなかったのですが、送信部分を非同期に改良することで送信後に待たされないサクサク投稿が可能になりました。

バージョン 1.1 の内容


  • 投稿画面のデザインを一新
  • オフライン投稿に対応
  • URLスキーム対応
  • バグ修正

新デザイン


投稿画面のデザインを一新しました。


多少なりとも以前のバージョンに慣れた人には申し訳ないのですが、使い勝手を改良するにはどうしても必要と判断して思い切って変えました(クレームが来るのは覚悟しています x_x 。。

最大の変更理由は『ルール』の切替を簡単にできるようにする為です。以前までルール名はナビゲーションバーに表示していましたが、このバージョンから下のツールバーへ移動しました。ここを左右フリックするとルールが切り替えられます。以前のレイアウトのままでの切替も考えたのですが、ナビゲーションバーのタイトルをフリックするというのはどうも感覚的ではないし、片手持ちの時に遠くて指が届かず、試行錯誤の末に真ん中のツールバーへ配置することに決めました。送信ボタンも合わせて下へ移動して一番押しやすい場所に配置しました。代わりに従来下のツールバーにあった写真やリマインダをナビゲーションバーへ配置してあります。写真をよく使っていたユーザの方は慣れるまで使いづらいかもしれません(私自身がそうでした)。


オフライン投稿


投稿は一旦送信ボックスに入り、オンライン時に自動的に送信されます。




送信ボックス導入によってオフラインだけでなくオンライン時も非同期な送信が可能になりました。これによって比較的大きな画像があっても送信を待たされることが無い ”さくさく” 投稿が可能になりました。

実装の話を少しすると内部では自作のキューライブラリを使っています。

このライブラリはいわゆるキュー(FIFO)の簡易ライブラリで、特徴的なのはアーカイブ可能なオブジェクトを渡すと処理が終わるまでディスクに保存しておいてくれるところです(永続化)。投稿が実行されると投稿内容を保持するモデルクラスをこのキューへ入れて、メインスレッドではすぐに次の投稿入力画面に切り替えます。一方別スレッドで動く処理がこのキューを監視していて、諸条件(オンラインなど)が揃ったらサーバへの送信を自動的に開始します。処理が終わったらキューから投稿を削除して、次の投稿モデルを取り出します。

また送信ボックスはちょっとしたミニアニメーションを仕込んでいて増減の様子がさりげなくわかるようになっています。ここのアニメーションには Canvas というライブラリを利用しました。

このライブラリは良く出来ていて用意されているビュークラスの上にアニメーションしたい画像等を配置すれば移動やズーム、フェードイン・アウトなどの動きを簡単につけることができます。アイコンやボタンなど主にコントロール系のパーツでユーザの目を引きたい時で使うと効果的だと思います。StackOneでは送信ボックスに投稿が入った時に ZoomOut、送信が終わった時にMorphを使っています(どくんどくん、と少し波打つように見える)。


URLスキーム


このバージョンから URLスキームに正式対応しました。テキストおよびルールの指定が可能です。
書式 jp.lakesoft.StackOne://text=テキスト&rule=ルールID
ruleパラメータは省略可能です。

URLはルール設定画面で取得することもできるので、この機能を活用してみて下さい。




その他


StackOneの特徴はなんといっても『ルール』です。『ルール』については別に説明ページを設けたのでもし興味を持ったらこちらを読んでみて下さい。




それと連絡事項が1件あります。頻繁に投稿するとエバーノートの1時間当たりの投稿上限に達して送信に失敗する場合があります。
エラー内容:
Code=19 "Operation denied because the calling application has reached
 its hourly API call limit for this user."

送信BOXに投稿が溜まってしまうことになりますが、この場合はしばらくしてから再送信してみてください。この課題はエバーノートの仕様であるため変更はできないのですが、アプリ側で少しでも改善できるよう検討中です。


- - - - - - -
エバーノートへの投稿がもっと楽しくなる新世代投稿アプリ【StackOne】を是非お試し下さい。







人気の投稿(過去 30日間)