Я работаю над этой же проблемой. Первоначально я следовал этому совету и использовал maindocumenturl для ручного ввода URL-адресов в список истории для навигации назад / вперед. Однако это не давало очень точных URL-адресов, независимо от того, получили ли вы URL-адрес из didstartload или didfinishload. Если вы хотите почувствовать мою боль, попробуйте выполнить поиск в Google, и вы поймете, о чем я говорю, maindocumenturl совершенно бесполезен в этой среде. В отличие от этого, абсолютное свойство url, используемое с webviewdidfinishload, работает намного лучше и фактически позволяет пользователю создавать полезную историю. Это мои два цента.