These are not just private APIs that can cause your application to reject. Using undocumented members of the public API may result in your application being rejected. For example, the tr20 library (as fixed) gained access to _phase and other UITouch members within the category.
They can also detect private member calls using the performSelector function, since the following is also marked as a reject:
UIWindow* window = [UIApplication sharedApplication].keyWindow] return !![window performSelector:@selector(firstResponder)];
More disturbing, if you create an application for 3.1 and 3.0, and at runtime in 3.0 you do not use any of 3.1, your application may still be rejected. An example would be cameraOverlayView of UIImagePickerController (see here ). This is a little puzzling.
lyonanderson Dec 05 '09 at 15:54 2009-12-05 15:54
source share