У меня есть приложение для iOS и macOS. Эти приложения используют Cloudit для обмена информацией между (основными данными). Я храню NSAttributedString, созданный на одной платформе (например, iOS), в основном атрибуте данных, который определяется как трансформируемый тип атрибута, поэтому основные данные используют (я предполагаю) NSCoder по умолчанию для кодирования/декодирования данных NSAttributedString.
Теперь мое приложение для macOS может считывать данные из iCloud, включая эту NSAttributedString, и просматривать/редактировать их. Но эта NSAttributedString выглядит совершенно по-другому в macOS (и наоборот)
Не только размер (что я понимаю, потому что размер по умолчанию в iOS и macOS отличается, поэтому мне нужно настроить размер), но я потерял форматирование (жирный, курсив и т. д.).
Получается, что атрибуты шрифтов для UIFont и NSFont несовместимы, я прав? Я использую стандартные шрифты - например на iOS UIFont.preferredFont(forTextStyle: .body)
Возможно, мне нужно сохранить NSAttributedString как что-то еще (например, преобразовать его в данные RTF/HTML и поделиться ими таким образом) в iCloud, а во время чтения снова преобразовать RTF/HTML в NSAttributedString. Я не спрашиваю, как это сделать (я это знаю), но я спрашиваю должен ли я это делать, чтобы иметь совместимость с NSAttributedString (по крайней мере, с точки зрения форматирования) на всех используемых платформах.
Я не могу найти ничего по этому поводу в Интернете (может быть, я ищу с неправильными ключевыми словами). Есть ли у кого-нибудь опыт совместного использования NSAttributedString между платформами (iOS, macOS)? Есть ли рекомендации на этот счет?
Спасибо за совет/помощь заранее.