Существует подобный вопрос здесь , который покрывает некоторые за и против.
я предложил бы не использовать реестр, если для Вашего приложения абсолютно не нужен он. От моего понимания Microsoft пытается препятствовать использованию реестра из-за гибкости файлов настроек. Кроме того, я не рекомендовал бы использовать .ini файлы, но вместо этого использовать часть из встроенная функциональность к.Net для того, чтобы сохранить настройки пользователя/приложения.
Вам необходимо реализовать encodeWithCoder: в вашем пользовательском классе, сериализуя все его атрибуты с помощью переданного в него NSCoder. Если его атрибуты включают дополнительные настраиваемые классы, им также потребуется реализация encodeWithCoder :.
you can only archive objects that support the NSCoding
protocol