Rule | Description | Example | KPI |
---|---|---|---|
optin.osx.cocoa.localizability.NonLocalizedStringChecker | Warns about uses of non-localized NSStrings passed to UI methods expecting localized NSStrings | NSString *alarmText = NSLocalizedString(@”Enabled”, @”Indicates alarm is turned on”); if (!isEnabled) { alarmText = @”Disabled”; } UILabel *alarmStateLabel = [[UILabel alloc] init]; // Warning: User-facing text should use localized string macro [alarmStateLabel setText:alarmText]; | Maintainability |
osx.cocoa.ClassRelease | Check for sending ‘retain’, ‘release’, or ‘autorelease’ directly to a Class | @interface MyClass : NSObject @end void test(void) { [MyClass release]; // warn } | Maintainability |
osx.ObjCProperty | Check for proper uses of Objective-C properties | Maintainability |