【问题标题】:The app references non-public selectors in Payload: hidden该应用程序在 Payload: hidden 中引用了非公共选择器
【发布时间】:2014-06-28 18:35:58
【问题描述】:

在 Xcode Organizer 中 [Validating...] iOS App 时出现此错误:

The app references non-public selectors in Payload/name.app/scheme: hidden.

但是,hidden 是 UIView.h 中定义的公共属性:

@property(nonatomic,getter=isHidden) BOOL 隐藏;

什么会导致公共选择器的调用未能通过 Apple App Store 验证?

【问题讨论】:

    标签: ios xcode appstore-approval


    【解决方案1】:

    简而言之

    替换:

    [self addObserver:self
           forKeyPath:NSStringFromSelector(@selector(hidden))
              options:NSKeyValueObservingOptionNew
              context:nil];
    

    作者:

    [self addObserver:self
           forKeyPath:@"hidden"
              options:NSKeyValueObservingOptionNew
              context:nil];
    

    详情

    在 KVO(键值观察)上关注 NSHipster 时,我使用 NSStringFromSelector(@selector(hidden)) 作为键路径,因为事实上,“...任何拼写错误或拼写错误都不会被编译器捕获,并且会导致事情无法正常工作。"

    事实证明,hidden 属性有一个显式的 getter,它与属性名称不同:

    @property(nonatomic,getter=isHidden) BOOL hidden;

    我也使用opaque 属性验证了这一点。

    @property(nonatomic,getter=isOpaque) BOOL opaque;

    它也未能通过验证: 应用在 Payload/name.app/scheme 中引用了非公共选择器:不透明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-20
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      • 1970-01-01
      • 1970-01-01
      • 2014-04-17
      相关资源
      最近更新 更多