タイトルの通りなのですが、positionFromPostion:を一部の顔文字を含むUITextFieldに適用するとnilが返ってきます。例えば"キタ━━━━(゚∀゚)━━━━ !!!!!"などでこの現象が発生します。
StackOverflowに答えが書いてましたが、4バイト文字を含むとダメみたいです。
uitextfield positionFromPosition:offset not working emojis
今回UITextFieldのテキスト全部を選択した状態にしたかったのでselectAll:で回避できましたが、一部のテキストをプログラムで選択状態にしたい場合は、StackOverflowのやり方をいじくってUITextRangeオブジェクトを実体化すれば回避できると思います。