这个警告在一些第三方库中突然出现.

有没有办法在不修改代码的情况下处理它(例如忽略警告)?

如果我必须修改代码来修复它,我该怎么做?

下面是导致警告的代码块之一:

BOOL FBIsDeviceIPad() {
 #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
  if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
   return YES;
  }
 #endif
  return NO;
}

推荐答案

通常有这样的警告时,您可以在文件顶部定义一个函数原型,例如:

BOOL FBIsDeviceIPad();

But在C中,括号之间没有任何内容的方法,即()实际上意味着存在任意数量的参数.相反,定义应变为(void),以表示no个参数:

BOOL FBIsDeviceIPad(void);

...

BOOL FBIsDeviceIPad(void) {
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
  if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
   return YES;
  }
#endif
  return NO;
}

Objective-c相关问答推荐

如何在 Objective-C 中编写计时器?

pathForResource 返回 null

iOS 编译错误:CDVCommandDelegateImpl没有可见的@interface 声明 Select 器执行:

有没有一种简单的方法可以将 ISO8601 时间戳转换为格式化的 NSDate?

在 Xcode 5 中运行代码覆盖时出现数十个profiling:invalid arc tag

在 NSMutableArray 的开头添加一个对象?

如何判断字符串是否仅包含目标C中的字母数字字符?

如何从 RGBA 创建 UIColor?

UITableView configureCellForDisplay:forIndexPath 中的断言失败:

首次提交应用内购买以供审核

在 NSArray 中查找最大数值

如何逐行从 NSFileHandle 读取数据?

深入了解保留周期

对 NSTimer 目标的弱引用以防止保留循环

使用 respondsToSelector 时 suppress '...' is deprecated

发送通知到山狮通知中心

Xcode - 如何将 XIB 连接到 ViewController 类

UIView: opaque vs. alpha vs. opacity

判断核心数据中是否存在对象的最快方法?

UiTextField 中的第一个字母小写