Запутывать внутренние классы в динамической среде iOS, распространяемой через cocoapods - PullRequest
0 голосов
/ 23 мая 2018

Мы разрабатываем динамический фреймворк для iOS.Он будет распространяться среди внутренних команд через Cocoapods.

Мне было интересно, можем ли мы как-то предотвратить доступ к внутренним классам, возможно ли это вообще?Есть ли здесь какие-нибудь флаги или инструмент запутывания, которые могут помочь?

Идея состоит в том, чтобы скрыть внутренние (приватные) классы, в то же время распространяя динамические рамки через cocoapods.

1 Ответ

0 голосов
/ 23 мая 2018

Swift 4 имеет 5 спецификаторов доступа:

  1. open
  2. public
  3. внутренний
  4. fileprivate и
  5. private

Среди которых open является наименее ограничительным, в то время как private является наиболее ограничительным.

Используйте open или public спецификатор для классов / структур или переменных, которые вы хотите предоставить вне модуля.

По умолчанию все, что вы определяетепомечен как внутренний .Доступ к модулю возможен, но не доступен извне.

fileprivate предоставляет переменную / класс или структуру определяющему классу.

private является наиболее ограничительным и не может использоваться за пределами своего определяющего класса или структуры.

Обычно для публичного API open и public используются.

ДляКонкретные подробности см. в документации Apple: Контроль доступа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...