Tag Archives: OSS Sampler

OSS Samplerに入れなかったライブラリ

0
Filed under Torques, オープンソースライブラリ
Tagged as ,

OSS Samplerの裏側

OSS Sampler 2.4がリリースできたので、たまにはこのアプリについてのブログを書いてみようかと思います。
OSS Sampler 2.4
先日リリースしたOSS Samplerでは120以上のライブラリの動作を試せるようになっています。
その際にいろいろと試すわけですが、試した全てのライブラリを入れているわけではありません。

ライブラリを選ぶ基準【1】

まず、基本的に見た目重視ですので、例えば、通信を簡単にするライブラリとか、コードを簡単に書けるようにする系のライブラリは入れにくいです(アプリ利用者がデモの動作を確認できないので)。

ライブラリを選ぶ基準【2】

それともう一つ入れられないライブラリが、当たり前ですがバグのあるライブラリです。
アプリが落ちるようなライブラリは論外です。
今回のバージョン2.4では主にサウンド系のライブラリを追加しました。
入れたものはさておき、EZAudioというライブラリがあります。
これが結構良さそうな感じでしたので試していたのですが、結局入れていません。
単純なサンプルではOKだった動作が、組み込んだ途端に挙動が怪しくなったのです。
おそらく何かしらのオブジェクトやリソースの解放等がうまくできていない様子なのです。
私自身がサウンド系にあまり詳しくないのと、それをラクにするためのライブラリを探していたので、あまり深入りしてデバッグできる時間もなかったので、削除しました。

Cocoa Controlsのコメント欄にあった次のコメントがホントそのまま参考になった感じです。
・EZAudio for iOS – Cocoa Controls
https://www.cocoacontrols.com/controls/ezaudio#comment-1439022167

CutMaster • 10 months ago

Very good component… But very buggy too… That’s sad there’s no answer on opened tickets on GitHub. I’ve planned (& started) to create several cool components such as audio plugins (compressor, 3 bands EQ…), etc but EZAudio is definitely too unstable, and have no answer from the author 🙁 Think porting my projects & components to Amazing Audio.

(拙訳)
とてもいいコンポーネントなんだけど.. だけど、あまりにバグが多すぎる..
GitHubのチケットにも返事はないし。
私は(compressorや3bands EQみたいな)クールなオーディオプラグインをつくろうと思ってたけど、EZAudioはちょっと不安定すぎた。
結局、自分のプロジェクトではAmazing Audioへの乗り換えようかと思ってる。

iOSのような変化が激しいプラットフォームにおいて、メンテされていないオープンソースライブラリはホント使えない良い事例です。
画面一つで素晴らしい!と思うサンプルも、他の画面と行き来するとバグる、ということが少なからずあったり。。

その他

他にも、ここまでライブラリが増えてくると、他のライブラリを派生して使っているライブラリとか出てきて、そういうのも両立が難しそうなライブラリは断念したりします。
という感じで、OSS Samplerの裏では、実は結構苦労していたりするのです(笑


TOWebViewController:ブラウザライブラリ

0
Filed under iPhoneアプリ, オープンソースライブラリ
Tagged as , ,

年末に申請していたOSS Sampler 2.3がリリースされました!

今回、アプリのアイコンを変えました。(1.0をリリースしてから初めて!)
最近のフラットデザインや、マテリアルデザインの中でも違和感がないようなアイコンにしました。
osssampler-icon-changed
アプリそのもののデザインはほとんど変えていないので、一部違和感が残っていますが、こちらも今後少しずつ時代に取り残されないようにアップデートしていく予定です!

ブラウザ画面のライブラリ

今回のアップデートでは、5つのライブラリを追加したのですが、おすすめはWeb Browserカテゴリに追加した「SVWebViewController」「TOWebViewController」です。
2つ追加しましたが、結論からいうと、TOWebViewControllerのほうが良いと思います。
URL表示や入力欄は無いのでそれが必要な場合は別途用意する必要はありますが、ブラウザ画面が必要になったら、まずはこれでいいんじゃないかと思うくらいです。
OSS Sampler自身も、2.3から、github表示画面や、クレジットのウェブ表示画面ではTOWebViewControllerを使うようにしました。

UIActivityViewController

UIActivityViewControllerは、iOS6から使えるようになっている機能で、指定したオブジェクト(URLとか画像とか)を他のアプリに送ったりできるUIです。
UIActivityViewController
ブラウザの場合でしたらURLを入れて渡すだけで、アプリは他のアプリの実装を知らなくても、例えばPocketアプリに登録したり、他のアプリが勝手に拡張できる機能でとても便利です。
意外と知られていないのではないのかと思います。
さらにアプリ自身でも拡張でき、SafariやChromeに送るボタンをこの機能で実現しています。
この機能自体はSVWebViewControllerにもあるのですが、アイコンの実装方法に違いがあります。SVWebViewControllerは普通にPNGですが、TOWebViewControllerでは、コードで描いているのです!
まぁ、どちらがいいかは微妙かもしれませんが、デバイスの解像度が上がっても自動で対応できるという点ではTOWebViewControllerに軍配が上がりそうです。

ローディング表示

TOWebViewControllerの最大の特徴は、ローディング中のバーが表示されることです。
これは、ninjinkunさんが公開している「NJKWebViewProgress」を採用しています。

「Yahoo! JAPAN」アプリや「facebook」アプリでも採用されているようで、実績十分ですね!

【宣伝】というわけで、TOWebViewControllerの動作も確認できる「OSS Sampler 2.3」を是非お試しください!

OSS Sampler 1.8リリース!

0
Filed under iPhoneアプリ, Torques
Tagged as , , , ,

iOSアプリ向けオープンソースライブラリを紹介するアプリ「OSS Sampler」の新バージョン 1.8 が本日リリースされました!
OSS Sampler

掲載数は合計94ライブラリ!
次のバージョンアップで100にいきそうですね。

UI/UXの改善もそろそろ行いたいですが、2.0くらいになるかな、と思っています。

今回より、ちょっとだけ値上げさせていただきますが、バージョンアップした本日だけ価格据え置きですが、明日(4/17)より、300円にさせていただきます。m(_ _)m

今後のバージョンアップや機能改善に役立てていきたいと思いますので、何卒ご理解くださいませ。(もちろん、一度購入された方には追加料金は発生しません)

「このライブラリの動きを見たいんだけど」「こういうライブラリって何か無い?」等ございましたら、遠慮なくお問い合わせ下さいませ→ twitter @octi

[OSA2013] MGBoxKit – 自由度の高いレイアウトライブラリ

1
Filed under オープンソースライブラリ
Tagged as , , , ,

OSS Sampler Advent Calendar 2013
OSS Samplerに実装しているオープンソースライブラリを毎日紹介する「OSS Sampler AdventCalender 2013」 、2日目は、「MGBoxKit」です。

MGBoxKit

MGBoxKitは、OSS Samplerのライブラリ情報画面でも使っているレイアウトライブラリです。
sobri909/MGBoxKit – github
通常のUITableViewはちょっとデザインしたいだけのときには結構面倒ですが、そういうときに便利なのがこのMGBoxKit。
OSS Sampler - MGBoxKit
ライセンスはBSDライセンス系のオープンソースライセンスですが、クレジットの表示を義務付けていないようなので、嬉しいですね。

特徴

HTMLのように、とりあえず箱を作って、その中に文字を設定すると、適当なサイズに収まるように表示されます。
UITableViewではこれがかなり面倒なので、コンテンツのサイズに柔軟に対応できるレイアウトライブラリを探している人にはオススメ。

素晴らしいライブラリ設計

UIScrollViewを拡張したMGScrollViewを表示領域として生成し、その中にMGBoxを追加していく、というシンプルな作りです。
MGScrollViewは、プロパティとしてboxesというNSMutableArrayをプロパティとして持っているので、次のようなコードになります。

1
2
3
4
// 公式ページより引用.
MGBox *grid = [MGBox boxWithSize:self.bounds.size];
grid.contentLayoutMode = MGLayoutGridStyle;
[scroller.boxes addObject:grid];

MGBoxにはボーダーやマージンなども設定できますし、タッチイベントなどの処理もBlocksで書けてとても使い勝手が良いのです。

1
2
3
4
5
6
7
8
9
10
// 公式ページより引用.
box.onTap = ^{
  NSLog(@"you tapped my box!");    
};
box.onSwipe = ^{
  NSLog(@"you swiped, m'lord?");
};
box.onLongPress = ^{
  NSLog(@"you can let go now.");
};

実際には、MGBoxを派生させているクラスを作ったり、MGLineというMGBoxの派生クラスを使うことになると思います。
ちなみに、OSS Samplerの説明画面のレイアウトはMGLineとMGLineStyledというクラスで作っています。

盛りだくさんの機能!

上に示したアニメGIFのように、ボックスを追加したり削除したりも動的に行って、しかも綺麗にアニメーションしてくれますし、もちろんこのアニメーションもカスタマイズ出来るようになっています。
私も余り使いこなしていませんので、もうちょっと試してみようと思います!

badge_AppStore – OSS Sampler – iOSオープンソースライブラリ集
(今回紹介したMGBoxKitの動作も確認できます)