Это зависит от данных, которые вы хотите сохранить.
Если ваша цель состоит в том, чтобы сохранить некоторые настройки для вашей платформы (например, должны ли быть включены некоторые функции или нет), тогда подойдут UserDefaults. Если вы хотите хранить данные пользователя (или все, что вы можете получить с сервера), то вам, вероятно, стоит подумать об использовании CoreData, который является постоянным хранилищем iOS / macOS / tvOS.
Вы также можете использовать базу данных Realm, но не рекомендуется использовать ее в фреймворках, поскольку она будет добавлена в любое приложение, которое будет использовать ваш фреймворк (и разработчики, вероятно, не будут этому рады ).
По поводу ваших вопросов:
- Зависит, см. Выше
- Да