In my team, we develop several frameworks and in one of the apps integrating said frameworks, they want to enforce the imports of FooBar framework to a specific folder and throw a compile time warning if someone tries to import FooBar outside that folder.
I created a swiftlint rule to detect imports of FooBar outside the folder and it turns out that it also detects some implicit imports that should not be there and throws a warning from my lint rule. Even if the file doesn't explictly import FooBar, it seems to have access to it.
Note: FooBar is an static framework that has both ObjC and swift support and the app project also uses both ObjC and swift to access the framework's functionality.
How can I get rid of implicit imports in an iOS project?
Here's the rule I created
oneplayer_import:
exclude: "somepath"
regex: "^#?import .*FooBar.*$"
message: "FooBar frameworks should not be imported outside somepath"
severity: warning