Are performSelector and respondsToSelector banned by App Store?

前端 未结 4 1648
半阙折子戏
半阙折子戏 2020-12-04 02:04

My latest build was accepted into the Apple app store, but I got the notice quoted below a couple of days later.

My app also uses Rollout.io, and I asked explicitly i

4条回答
  •  北荒
    北荒 (楼主)
    2020-12-04 02:28

    It is not respondsToSelector:, performSelector: that are banned. The ban is on putting dynamic content as a parameter to this method. For example, this is not banned:

    if([self.delegate respondsToSelector: @selector(myDelegateMethod)]) {
       [self.delegate performSelector: @selector(myDelegateMethod)];
    }
    

    However, this code might be banned:

    NSString *remotelyLoadedString = .... (download from your backend)
    [self performSelector: NSSelectorFromString(remotelyLoadedString)];
    

提交回复
热议问题