読者です 読者をやめる 読者になる 読者になる

酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

ポケモン個体値計算器「Pokétomo for Pokémon GO v1.5」をリリースしました

ポケトモ「Pokétomo for Pokémon GO」の新しいバージョンv1.5がリリースされました。

個体値計算器 Pokétomo for Pokémon GO

個体値計算器 Pokétomo for Pokémon GO

  • KENJI WADA
  • ユーティリティ
  • 無料

審査に出したかも忘れていたのですが、いつの間にか審査に通って公開されていました。

  • スクリーンショットの複数解析に対応しました

解析精度が激甘なのでそのうちなんとかします。せめてユーザーが自分で値を訂正できるようにしたいです。

関連記事

バージョン履歴が長くなってきたのでイカにまとめました。

Pokémon GO Plus買いました

ガジェット

「買いました」というか「買えました」というべきか。まさかAmazonでPokémon GO Plusが買えるとは思わなかった。

シオカラーズのamiibo発売の時のようにAmazonでは5分も持たずに瞬殺かと思いきや15分経っても、まだゆとりを持って買えるのでPokémon GO Plusは在庫に余裕がありそうです。変にプレミアムついて高騰しなさそうなので嬉しい。

ポケモンセンター(リアル店舗)では、1000人並んでいるけれど整理券余裕っていうツイートもあったので、リアル店舗ともどもかなりの数を入荷していたのかもしれません。

7:15追記

ポケモンセンターオンラインはアクセスが殺到しているのかメンテナンスモード入り、いまだにメンテナンスページに飛ばされてしまいます。

f:id:ch3cooh393:20160916071458p:plain

7:30追記

Pokémon GO PlusがAmazon Prime Nowでも買えるみたい。販売店舗がAmazonとポケモンセンターのみに絞って、全国の倉庫に配置しているんだなというのがわかる。

ポケモンセンターオンラインにアクセスできるようになったみたい。

www.pokemoncenter-online.com

ただ不安定でページ遷移させるたびにメンテナンスモードに切り替わってしまう。

ポケモンセンター(東京)では本日分が売り切れたというツイートを見かけた。「本日分」ということで、明日は明日分の在庫があるみたいです。明日から三連休なので分割して売るのかな?Amazonの方はさすがに売り切れたらそれで終了になるだろうなぁ。

9:00追記

Amazonの方も在庫がなくなりはじめた。「在庫あり」から「在庫なし」へ状態がコロコロ変わっている。多分カートに入れていたユーザー分のものが解放されたんだと思う。

ポケセンの方が復活したので、Pokémon GO Plusの発売を知らなかった層はそっちで買っているような感じですね。

欲しい人には行き渡った感じがする。Pokémon GOリリース直後ではなくて2ヶ月過ぎてひと段落してからのリリースってのも良かったのかもしれませんね。

Pokémon GO Plusが届いたよ!

10:45追記

2時間ほど前に注文したPokémon GO Plusが届きました。普段はあまり考えないけれどPrime Nowの使える東京に住んでいてよかった。

パッケージの包装自体はかなり簡素なものです。この手の商品だと透明のプラにはめられていて、もっとガチガチに包装されてそうなイメージでした。

内容物は説明書とPokémon GO Plusとリストバンドです。リストバンドを装着するにはドライバーが必要だし、時計がつけられなくなるのでピン止めで運用しようと思います。

Pokémon GO Plus本体の大きさは単3電池とほぼ同じ大きさです。そこまで大きくないけれど小さくもありません。

背面にはクリップがついているので胸ポケットに差したりすることもできそう。

Swift3.0でRealmSwiftのビルドが通らない

Swift iPhone

Xcode 8とiOS 10が正式に公開されました。Swift 2からSwift 3への移植は結構大変という前評判だったので、ボチボチ手をつけていくかぁ……とSwift 3対応を始めたもののすぐに詰まってしまいました。

最近作っているikatomoPokétomoも、両方ともデータを保存するのにRealmSwiftを使っています。

どうもそのRealmSwiftで大量のビルドエラーが出てしまっているようでした。

Xcode 8とSwift 3でRealmSwiftをビルドできるようにした

先にビルドを通せた方の書き方をPodfileを紹介します。

RealmSwiftのSwift 3.0対応はmasterブランチで実装中のようです。pod 'RealmSwift'という書き方ではなくてgitからcloneしてきました。

target 'realm_sample' do
  use_frameworks!

  pod 'Realm', :git => 'https://github.com/realm/realm-cocoa.git', :submodules => true
  pod 'RealmSwift', :git => 'https://github.com/realm/realm-cocoa.git', :submodules => true

end

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = "3.0"
        end
    end
end

CocoaPodsにRealmSwiftのSwift 3対応版が降ってくるのはまもなくのようです。

RealmSwiftのビルドが通らない!

ここから先は失敗談なので読む必要はありません。

どういう風につまづいたのかをメモしておきます。一番最初にPodfileはこんな書き方をしていました。

target 'realm_sample' do
  use_frameworks!

  pod 'Realm', :git => 'https://github.com/realm/realm-cocoa.git', :submodules => true
  pod 'RealmSwift', :git => 'https://github.com/realm/realm-cocoa.git', :submodules => true

end

これでpod installをしてxcworkspaceを開くと、下図のようにSwift 3へのコンバートを促されます。

f:id:ch3cooh393:20160915012222p:plain

Swift 2.3からSwift 3.0へコンバートしますか?と聞かれるのでそのまま進めていくと……大量にエラーが発生してしまいます(エラーが多いので一部だけ) 。

/Pods/RealmSwift/RealmSwift/LinkingObjects.swift:125:29: Extraneous argument label 'index:' in call
/Pods/RealmSwift/RealmSwift/LinkingObjects.swift:137:29: Extraneous argument label 'index:' in call
/Pods/RealmSwift/RealmSwift/LinkingObjects.swift:149:29: Extraneous argument label 'index:' in call
/Pods/RealmSwift/RealmSwift/List.swift:91:29: Extraneous argument label 'index:' in call
/Pods/RealmSwift/RealmSwift/List.swift:103:29: Extraneous argument label 'index:' in call
/Pods/RealmSwift/RealmSwift/Results.swift:129:29: Extraneous argument label 'index:' in call
/Pods/RealmSwift/RealmSwift/Results.swift:141:29: Extraneous argument label 'index:' in call
/Pods/RealmSwift/RealmSwift/Results.swift:153:29: Extraneous argument label 'index:' in call

実際にコードを見てみると下記のように分岐されていました。何かで定義されている値を見て判断しているのではないかと推測しました。

#if swift(>=3.0)

#else

#endif

configにconfig.build_settings['SWIFT_VERSION'] = "3.0"を指定すようにしたらビルドが通るようになりました。