SVProgressHUD 报错 Unexpected interface name

原创 2016年08月30日 20:08:15

SVProgressHUD 报错 Unexpected interface name
一、问题描述:
今天导入SVProgressHUD进项目工程。报错诸如:

Unexpected interface name ‘UIApplication’:expected expression.
    Expanded from macro 'keyWindow'
    Expected ']'
错误信息截图如下:

11

二、原因所在:
经过发现,查看到了,原来是自己宏定义使用了关键词“keyWindow” ,正好导致了SVProgressHUD库中的部分代码预编译通不过。

这是我项目中的宏定义,

#define keyWindow [UIApplication sharedApplication].keyWindow

三、解决方法
既然是我自己项目中的宏定义与第三方库中的代码冲突了,那就只能修改自己的代码了。
1、以下是我修改之后的宏定义

#define keyWindowMine [UIApplication sharedApplication].keyWindow

截图如下:
2
2、SVProgressHUD库中,SVProgressHUD.m 相关代码如下:

#if !defined(SV_APP_EXTENSIONS)
                             UIViewController *rootController = [[UIApplication sharedApplication] keyWindow].rootViewController;
                             if ([rootController respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
                                 [rootController setNeedsStatusBarAppearanceUpdate];
                             }
#endif

附录:(导入SVProgressHUD,需要注意的问题)
导入方法以及依赖库
1、拖动 SVProgressHUD/SVProgressHUD 文件夹至你的工程.
2、确保 SVProgressHUD.bundle 添加到了 Targets->Build Phases->Copy Bundle Resources.
3、将QuartzCore框架添加进你的工程
4、如果出现arc问题,

#if !__has_feature(objc_arc)
#error SVProgressHUD is ARC only. Either turn on ARC for the project or use -fobjc-arc flag
#endif
版权声明:本文为狮兄整理,引用或借鉴请指明出处。

object-c c case语句中的报错 Unexpected interface name 'NSArray': expected expression

例如 int a = 2; switch (a) {     case 1:     NSArray* array = [[NSArray alloc] init];     [array...
  • cjopengler
  • cjopengler
  • 2011年09月29日 13:22
  • 4058

SVProgressHUD会crash的处理方法

最近升级了cocoapods,结果SVProgressHUD就令我整个app直接crash了,crash之后显示了一段这样的代码:DISPATCH_INLINE DISPATCH_ALWAYS_INL...
  • Solar_Terry
  • Solar_Terry
  • 2016年12月01日 14:53
  • 1175

【IOS】异常捕获 拒绝闪退 让应用从容的崩溃 UncaughtExceptionHandler

虽然大家都不愿意看到程序崩溃,但可能崩溃是每个应用必须面对的现实,既然崩溃已经发生,无法阻挡了,那我们就让它崩也崩得淡定点吧。 IOS SDK中提供了一个现成的函数 NSSetUncaughtExce...
  • yhhwatl
  • yhhwatl
  • 2014年06月25日 14:12
  • 9072

MFC edit控件实现自动换行

必须设置Vertical Scrollbar = TRUE 必须设置MultiLine = TRUE 必须设置Horizontal Scrollbar = FALSE 必须设置Auto HScr...
  • a200638012
  • a200638012
  • 2016年07月08日 17:22
  • 4813

设置MFC Edit control可以换行显示

MFC Edit control可以换行显示 1.设置edit control 属性Multiline为true 2.写入数据时,想换行的时候写入"\r\n"即可,CString str.Re...
  • a780902723
  • a780902723
  • 2014年12月09日 16:52
  • 2485

MFC中EDIT控件实现换行

一、通过回车换行: 这里要有两个设置 .将控件的属性设置为Mutilines->true; .将控件的另一个属性设置为Want return->true. 水平和垂直滚动条设置...
  • dearwind153
  • dearwind153
  • 2015年12月09日 21:13
  • 3906

SVProgressHUD 报错 Unexpected interface name

SVProgressHUD 报错 Unexpected interface name 一、问题描述: 今天导入SVProgressHUD进项目工程。报错诸如:Unexpected int...
  • IDOshi201109
  • IDOshi201109
  • 2016年08月30日 20:08
  • 1015

Vue 中如何引入第三方 JS 库

一绝对路径直接引入全局可用 二绝对路径直接引入配置后import 引入后再使用 三webpack中配置 aliasimport 引入后再使用 四webpack 中配置 plugins无需 import...
  • csdn_yudong
  • csdn_yudong
  • 2017年12月13日 19:15
  • 1083

webpack打包vue文件时报错`Unexpected token:`

webpack打包vue文件时报错Unexpected token:    master分支的代码编译打包一直都正常的,今天上午将一个同事的分支合并后就一直编译不过,走读代码发现改动也比较少,也不涉及...
  • xiaoyu90520
  • xiaoyu90520
  • 2017年05月09日 18:27
  • 6697

SVProgressHUD控件使用 进度条

m SVProgressHUD 博客分类:  ios   GitHub:https://github.com/samvermette/SVProgre...
  • m372897500
  • m372897500
  • 2016年02月05日 15:35
  • 3071
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SVProgressHUD 报错 Unexpected interface name
举报原因:
原因补充:

(最多只允许输入30个字)