AppleのHot Code Pushリジェクト問題、React Nativeへの影響は?

Rollout.io導入アプリがリジェクトされた話題は、3月7日にHackerNewsで盛大に盛り上がりました。
Hot Code Pushというのは、App Storeのレビューを通さずにアプリの挙動を変更できる仕組みのこと。
Rollout.ioはこの仕組みを利用してバグ修正が迅速に行えるサービスを提供していました。

上記Hacker Newsのコメ欄にRolloutのCEOのErezが出てきたりして、顔面蒼白ぶりがひしひしと感じられますねぇ。
これだからプラットフォーム依存は怖い!

ネイティブの動きを変えられるようにするのはダメ

何がダメかっていうと、以下のAPIを使って動的に挙動を変えられるようにすることです:

dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations()

いくら安全にこれを取り扱ったとしても、ハイジャックされてMITMアタックとかが起こりえるからダメというのがAppleの判断。
これ別に昔っからあるライセンス条項だったと思うんですけど、どうやら最近になって急に厳しく取り締まり始めたのが騒動の発端らしい。

続きを読む AppleのHot Code Pushリジェクト問題、React Nativeへの影響は?

React Nativeでリリースビルドが起動しない問題の解決法

React Nativeを使ってiOSアプリを開発していて、TestFlightで配信しようとした時に問題にぶち当たった。

起動直後に落ちる

配信されたアプリを起動するとすぐにクラッシュしてしまう。
クラッシュレポートも上がってこないから、何が起こったのか分からない。
まるでProvisioning Profileの有効期限が切れた時のような挙動。
しかし、Code SigningやProvisioning Profileの設定は正しい。
そもそも間違っていればTestFlightで配信できないから。

原因1: ダイナミックなクラス名参照を実装している

続きを読む React Nativeでリリースビルドが起動しない問題の解決法

ノートアプリ「Inkdrop」のスマホ版を考える

これは拙作のハッカー向けノートアプリ Inkdropに関する記事です。

そろそろスマホ版が欲しい。
寝る前とか出先でアイデアを思いついた時やメモを見返したい時に、やっぱりあると便利ですよね。
というわけで、どうやって作るか検討したいと思います。

ハイブリッドで作ってみる

結論から言うとハイブリッドで組んでみたいと思います。
ハイブリッドとは、Webの技術とネイティブの技術を組み合わせてアプリをつくる方法です。
デスクトップ版InkdropもElectronで作ってあるのでハイブリッドですね。

続きを読む ノートアプリ「Inkdrop」のスマホ版を考える

ライバルノートアプリ「Bear」が正式リリース

ライバルってのは個人的な話ですが、イカしてるノートアプリのBearが今日リリースしたようです。
iOSとmacOSに対応。ネイティブなので軽い!そしてデザインがオシャレ!

クローズドベータから追いかけてましたが、これ開発期間が2年4ヶ月もかかってるんですね。
制作元のShiny Frogという会社はデザイン専門らしく、納得のクオリティのUI。

WYSIWYGエディタを備えていて、Markdown的なシンタックスで入力をするとリアルタイムにフォーマットしてくれます。
Markdownは知らなくても使えるようになっているので、おそらくターゲットはもっと広い層なのでしょう。
でもコードブロックはシンタックスもハイライトされるので、プログラマー向けでもあるようです。

ちょっとユニークなのが、「ノートブック」の概念が無いこと。
タグを本文中に「#foo」みたいに書くと勝手にサイドバーにリストされるような作り。
これはノートとタグが増えた時困りそうな気はするなぁ。
彼らには何かノートブック機構を採用しない理由がきっとあるのでしょうね。

まさかの継続課金モデル

昨日、個人的に継続課金キビシィ!!っていうブログを書いたばっかりだったので、ちょっと驚き。笑
Bear Proというプランがあるらしく、価格は以下の通り:

  • Montly Subscription: $1.49 (with 1 Week free trial!)
  • Yearly Subscription: $14.99 (with 1 Month free trial!)

Proではノート同期機能やエクスポート機能、テーマ機能が解除されるようです。
つまりフリーミアムですね。やっぱユーザをロックインしないためにはそうなっちゃうのかなー。
このモデルで本当に儲かるのかはよく分かりませんが。
ちなみに同期はiCloudなので、純粋にクライアントアプリにお金を払うっていう形ですね。

結構好きなタイプのアプリだし刺激をもらえるので、類似サービス仲間としてあたたかく応援したいと思います。

ディープラーニングで絵画風の動画をサクッと作れるiOSアプリ「Artisto」

ここ最近の研究ではディープラーニングの高速化が流行っていて、iOSでもデバイス上の演算で実用的なスピードが実現されつつあります。
自分が約一年前にディープラーニングを使って映像作品を作った時はどえらい大変でしたが、今や手のひらの上でできちゃうんですから。進化スピードがムーアの法則どころではない!

数ヶ月前に話題になったのが「Prisma」という写真アプリ。
これは同技術を使ってデバイス上で手軽に絵画風に変換できるもの。
有名ドコロの絵師のスタイルを模倣できます。
やったもんがち早い者勝ち感の強いアプリですね。
アプリの作りもオシャレな仕上がりで、Instagramユーザをターゲットにしているような感じです。

静止画の次は動画

そして、時間の問題だとは思ってましたが、出ました。動画です。
それが「Aristo

実際に使ってみたけど、Prismaより少し画質が荒いかな?と感じるぐらいで、スピードは結構速い。
FPSが低いので多少のカタカタ感はありますが、これもそのうち改善されるでしょう。

それにしてもPrismaとくらべて感じるのは「デザイナー不在感」。
アプリのアイコンがダサすぎる・・。
UIも飾りっけが無くてなんか寂しい。
おそらくその辺もわきまえた会社が別のアプリを出しそうな予感がします。

いずれにせよ、どんどんディープラーニングが日常に浸透してきていてワクワクしますね!

【まぁまぁかな】Spotifyの招待が来たのでアプリを試してみた

わーい!ついに来た!待ってたぞ!

SpotifyってのはApple Musicみたいな音楽聴き放題系サービスの一つです。
というわけで招待コードが届いたので、早速アプリをダウンロードして使ってみたよ。

まずはサインアップ

とりあえずサインアップします。
※画面内に映っているコードはもう無効です。

続きを読む 【まぁまぁかな】Spotifyの招待が来たのでアプリを試してみた

iOS10対応!システム情報アプリ『Omnistat』が凄くいい

メモリ使用量とかネットワーク通信量などをサッと見たい時ってたまーにありますよね。
このシステム情報系アプリでありがちなのが、ゴツゴツしたダサいUI。
でも最近見つけたアプリはシンプルでムダのないUIで凄く気に入っているのでご紹介します。
それが『Omnistat』。

続きを読む iOS10対応!システム情報アプリ『Omnistat』が凄くいい