如何处理Xcode警告"没有以前的功能原型......"?

Chr*_*ker 41 xcode warnings objective-c

这个警告在一些第三方库中出现了很多.

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

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

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

BOOL FBIsDeviceIPad() {
 #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
  if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
   return YES;
  }
 #endif
  return NO;
}
Run Code Online (Sandbox Code Playgroud)

app*_*tus 80

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

BOOL FBIsDeviceIPad();
Run Code Online (Sandbox Code Playgroud)

但是在C中,大括号之间没有任何内容的方法,即()实际意味着有任意数量的参数.相反的定义应该成为(void)表示没有参数:

BOOL FBIsDeviceIPad(void);

...

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


bos*_*acs 29

在Xcode4中,转到项目的Build Settings.搜索"原型".应该有一个名为"Missing Function Prototypes"的选项; 禁用它.您也可以对相关的特定目标执行此操作.