PressSyncをiOS11に対応する際にやった事

昨日のお昼過ぎにアプリを申請しました。私は今まで技術系の投稿はした事がないのですが情報共有になれば。

問題になっていた事

投稿編集画にプログラムから文字列を
貼り付ける機能や、クリップボードに文字列を設定する機能とかが軒並み使えない状態になっていました。

要するにプログラムからクリップボードに値を設定する箇所が正しく動いてませんでした。

投稿編集画面の入力支援機能は、一旦クリップボードに貼り付けたい値を設定してからペースト動作を発生されるという一連の動作をプログラムで行なってたんですね、そうするとあたかもユーザーが操作したような形になっUndoマネージャーにいい感じに履歴が残るから。

という内部的な動きだったので影響が出ていたのでした。

なぜiOS11からペーストボードの問題が?

問題ってわけじゃないとは思うんですが、ペーストボードに「文字列」を設定する場合、UTI (Uniform Type Identifier)の指定で「public.text」と指定するのは今まで一般的だったと思うのですが、どうやらiOS11からはこれが不可になったみたいです。

ってか識別されないUTIになったみたいで、ペーストボードには文字化けしたようなデータが格納されている模様。

「public.utf8-plan-text」などと文字コードを指定したUTIを設定するか、もしくはStringプロパティーに直接値を設定する事で意図した動きになります。

この件は簡単に片付いたのですが最新の開発環境でビルドするとUIの崩れががが。

UITableViewデフォルトの動き変わり過ぎやろ

なんかセルの上端と下端に空白が出来るんですよ。

iOS11和Xcode9踩坑记录 | HY‘s Blog

Estimateほにゃららというプロパティーを全部ゼロに設定すると旧来の動きになります

この情報を見つけるまでも結構時間を要したのですが、この問題解決しても、UI部品の開始座標が旧来からずれてたりとか普通にしてるので、それらを修正していく地味な作業が残っておりました。

まとめ

テストはせなアカンね。

via PressSync

投稿者:

aroooy

I am a systems engineer freelance. I love digital devices such as smart phones. I make the iOS app by using the spare time.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です