Вам нужно удалить static -, который указывает, что kMyConstant отображается только в файлах, связанных с этим.
Затем объявите (в отличие от определения) строку в заголовке класса A:
extern NSString * const kMyConstant;
и импортировать этот заголовок везде, где вы хотите использовать эту строку. В объявлении extern указано, что существует NSString * const по имени kMyConstant, хранилище которого создается в другом месте.
Если статическое определение уже находится в заголовке, вам нужно переместить его в другое место (обычно это файл реализации). Вещи могут быть определены только один раз, и если вы попытаетесь импортировать файл, который определяет переменную, вы получите ошибку компоновщика.
Ответ 3
Если он статический, вы не можете (для чего используется статическое ключевое слово).
Если вы просто объявите его как глобальную переменную, вы можете сделать что-то вроде этого: