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
版权声明:本文为博主(an笛声)整理原创文章,引用或借鉴请指明出处。

相关文章推荐

由SVProgressHUD出错谈混合使用 ARC 和非ARC

在工程中使用了非ARC,但因为SVProgressHUD是ARC写的,所以第一次[SVProgressHUD showWithStatus:]没问题,但第二次就出错了。因为是两工程使用非ARC,而S...
  • yuanya
  • yuanya
  • 2013年08月27日 14:53
  • 1718

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

例如 int a = 2; switch (a) {     case 1:     NSArray* array = [[NSArray alloc] init];     [array...

SVProgressHUD会crash的处理方法

最近升级了cocoapods,结果SVProgressHUD就令我整个app直接crash了,crash之后显示了一段这样的代码:DISPATCH_INLINE DISPATCH_ALWAYS_INL...

iOS----SVProgressHUD

简介 SVPRogressHUD是简单易用的显示器,用于指示一个持续进行的任务的进度. 项目主页: SVProgressHUD 最新示例: 点击下载 快速入门 安装 通过C...
  • iotjin
  • iotjin
  • 2016年04月19日 19:03
  • 229

NSSetUncaughtExceptionHandler异常捕获

NSSetUncaughtExceptionHandler、 利用 NSSetUncaughtExceptionHandler,当程序异常退出的时候,可以先进行处理,然后做一些自定义的动...
  • smking
  • smking
  • 2013年07月16日 18:54
  • 6663

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。 1.   最基本的算法是,从小到大遍历: for (i = 2 to A -1)          if (i * B > A)...

利用K-means聚类算法根据经纬度坐标对中国省市进行聚类

K-means聚类算法是一种非层次聚类算法,在最小误差的基础上将数据划分了特定的类,类间利用距离作为相似度指标,两个向量之间的距离越小,其相似度就越高。程序读取全国省市经纬度坐标,然后根据经纬度坐标进...

Radon变换理论介绍与matlab实现--经验交流

本人最近在研究Radon变换,在查阅了各种资料之后在此写下个人的理解,希望与各位牛牛进行交流共同进步,也使得理解更加深刻些。 Radon变换的本质是将原来的函数做了一个空间转换,即,将原来的XY平...

CT图像重建技术

由于csdn贴图不方便,并且不能上传附件,我把原文上传到了资源空间CT图像重建技术 1.引言 计算机层析成像(Computed Tomography,CT)是通过对物体进行不同角度的射线投影测量而...

Matlab绘图-很详细,很全面

Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Ma...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SVProgressHUD 报错 Unexpected interface name
举报原因:
原因补充:

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