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