I know that it is possible to set __deprecated attribute to category.
Is it possible to exclude whole category of Objective-C class by, for example, exclude attribute?
I know that it is possible to set __deprecated attribute to category.
Is it possible to exclude whole category of Objective-C class by, for example, exclude attribute?
__attribute__((unavailable))
(or UNAVAILABLE_ATTRIBUTE
in Apple headers) might do what you want. There's also NS_SWIFT_UNAVAILABLE
if you just want to mark things unavailable from Swift.
Did you try it?
I mark category interface in header as unavailable and still have category symbols in Swift.
Another option...
#if DEPLOYMENT_RUNTIME_SWIFT
// Swift should see nothing.
#else
@interface MyObject (CategoryName)
- (void)someCategoryMethod;
@end
#endif