# TypeのmacOS版がリリースされました🎉 #type_markdown #type_app
個人的にも念願だった# TypeのmacOS版がリリースされました。
# Typeとは
# Typeは個人的に開発しているMarkdownエディターアプリです。2017年3月ごろから運用・開発をぼちぼち続けています。
昨年のWWDC 19にてProject Catalystが発表され、複数ウィンドウに対応しているiPad OS向けのアプリは簡単にmacOSアプリ化することができるようになりました。しかし、何故ここまで時間がかかったのかというとCocoaPods経由でFirebaseを利用している場合に、開発用ビルドはできたがリリース用のアーカイブができないという問題がずっと残っていた為でした。詳細は下記の記事を見ていただければと思います。
根本的な原因はFirebaseのFirestoreで利用しているgRPCにて、ヘッダーファイルがアーカイブ時に消失(?)してしまうというものです。gRPCのIssueでもかなり前から議論になっていました。
しかし、Issueをウォッチしているとローカルでは少しずつビルドできるような動きが出始め、とうとうスクリプトを実行していればアーカイブが可能にまでなりました。CI/CDでは利用できないけど一旦はこれでアプリがリリース可能な準備が整いました。
Catalyst対応
僕はCatalystに対応するための本を書くなど色々と事前に準備もしてきたつもりでした。
先日公開したPityもmacOSに対応したのでなんとなくいけるだろうとたかをくくっていました。具体的に# Typeで対応したものはメニューとTouch Barです。ツールバーにも対応したかったのですが色々複雑になったので今回のバージョンでは一旦諦めることにしました。
リジェクトとの戦い
ある程度準備を完了させて審査に出すも速攻でリジェクトされてしまいました。合計で4度リジェクトされたのでゆるくまとめます。
1. Design Preamble
ウィンドウを閉じた後に開けないので開く為のメニューを作成した。
2. Guideline 2.1 - Information Needed
レビュー用アカウントでログインできなかったので改めてアカウントを作成して渡した。
2. Guideline 2.4.5(i) - Performance
iOSで必要だったcom.apple.security.device.cameraが残っているので削除した。
3. Guideline 2.1 - Performance
最初iOS版で登録しておき、macOS版ではログインだけできればと思っていたので課金機能を排除していたが、課金機能が無いと言われてしまったのでiOSと同様の機能にして再申請。
4. Guideline 3.1.2 - Business - Payments - Subscriptions
iOSでは審査が通っているのでそのままで問題ないと思いきや情報が足りないと言われて、SKProductから取得できる情報をそのまま表示するようにした。
まとめ
ようやく念願のmacOS向けに# Typeをリリースすることができました。これまでは新しい機能の対応とmacOS向けの対応を並行で進めてしまい、優先度を考えたりコンフリクトが発生したりとなかなか前に進み辛かったのですが、これでようやくバグ修正や機能追加に集中することができそうです。
引き続きiOS/iPadOS/macOSに対応したMarkdownエディターの# Typeをよろしくお願いします!