问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ios workspace 删除的警告怎么去除

发布网友 发布时间:2023-03-23 13:43

我来回答

2个回答

热心网友 时间:2023-10-15 00:27

1. 最直接、最一劳永逸、最安全的方式,直接找到警告的那段代码,改为不警告。这个方式最安全。
可是它有一个问题,就是,当我们很多文件都有这种类型的警告的时候,我们就需要改动很多很多的源码了, 对于不是我们写的源码,有可能随时会更新的,我们这种方式,显然就不太可取了。
2. 使用编译器提供的宏来操作,这个方式在我们的工程中会大量的看到:

1
2
3
4
5

#pragma clang diagnostic push
#pragma clang diagnostic ignored"-Wdeprecated-declarations"
//写在这个中间的代码,都不会被编译器提示-Wdeprecated-declarations类型的警告
dispatch_queue_tcurrentQueue =dispatch_get_current_queue();
#pragma clang diagnostic pop

这种方式的问题,同第一个差不多,也是要修改源代码的实现的,对于第三方,我们肯定是不想改动它的,尤其是一些更新很频繁的第三方,一般警告出现后不久,作者就更新了,我们在此做这样的操作,就显得浪费了.并且在 添加arm64支持的时候,一下出现几百个某种类型的警告,改起来也是相当费时费力的啊!
比如我们的工程,打开了arm64,然后编译:

3.关闭某一个指定文件的某种指定类型的警告
这里,拿一个具体工程来说吧.比如我们工程里有一个文件 PresencePacket

其实关闭某个指定文件的某种类型的警告很简单,就如同我们以前给某一个文件添加 ARC支持或者不支持的时候那样 添加 忽略/显示 某种类型警告

双击 文件, 在其中添加 -Wno-shorten-64-to-32 (这个关键在就是让编译器忽略 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32_t' (aka 'int') 警告)

添加完成后,再编译,那么PresencePacket文件中的 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32_t' (aka 'int’) 警告就没有了,是不是很简单,很方便.
这种方式,已经是大大的减少了工作量了,只需要在指定的文件的编译中添加 -Wno-shorten-64-to-32就可以了.那么有没有什么方式可以让编译器忽略整个工程中的 指定类型的警告呢?
4.关闭工程中指定 类型的警告
这个最简单了, 工程的target有一个 Other Warning Flags

在其中添加 -Wno-shorten-64-to-32

再重新编译,哈哈,整个文件中的 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32_t' (aka 'int’) 警告全部消失了!!!!
5.大家可能很疑惑,上面的-Wno-shorten-64-to-32 是怎么来的,我怎么知道 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32_t' (aka 'int’) 警告 就是 -Wno-shorten-64-to-32类型呢?这里,其实不需要记忆的,当工程中有这种类型警告的时候
在警告窗口,某个警告上,我们右击,显示出右键菜单,选择其中的 Reveal in Log

则会显示

注意到其中 [-Wshorten-64-to-32],在这个括号中的就是 这种警告的类型 -W是前缀,这个前缀表示的是 打开这种类型的警告 如果我们是要关闭某种类型的警告的话, 要将 -W换成 -Wno-
这样就得到了 -Wno-shorten-64-to-32了.
后记:
对于我们使用cocoapod引入的第三方,我们可以在podfile文件中 增加一句 inhibit_all_warnings! 来要pod的工程不显示任何警告,例如

1
2
3
4
5
6
7
8
9
10
11
12
13

link_with 'SecondHouseBrokerAPP','SecondHouseBrokerCOM'
platform :ios,'6.0'
inhibit_all_warnings!

pod 'CocoaAsyncSocket'
pod 'Reachability'
pod 'ProtobufObjC'
pod 'SDWebImage'
pod 'FMDB'
pod 'GPUImage'
pod 'CXPhotoBrowser'
pod 'CocoaLumberjack'

还有就是,上面的方法也适合其它类型的警告!!!

热心网友 时间:2023-10-15 00:27

在用xcode4开发的时候,删除不用的文件后, 编译的时候会有missing file的警告,原因是由于SVN或git造成的。
有几种方法可以解决。
1.命令行进入missing file目录,然后运行
svn delete nameOfMissingFile


git rm nameOfMissingFile

2.删除隐藏的.svn文件
命令行运行
defaults write com.apple.finder AppleShowAllFiles TRUE


killall Finder

开启显示隐藏文件,然后到工程目录下删除.svn文件,然后再恢复
defaults write com.apple.finder AppleShowAllFiles FALSE


killall Finder

3.进入工程目录,运行下面命令删除隐藏文件
find . -name .svn -exec rm -rf { } \;

报警是因为,先在文件夹中删除工程中引用的文件,工程引用的路径还存在,删掉也还会报错,怀疑是bug
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见水猴,俗称水鬼。是好是坏 驱虫药多久吃一次 什么情况需要吃打虫药 我的微信公众号太久没有更新被冻结了,怎么样才能注销重新 三星note3画笔画的作品(扩展名SPD)怎么样下载到电脑?怎样转换成JPG格式... 火灾甲乙丙丁类怎么分 什么叫甲类、乙类、丙类和丁类液体 小分子化合物库选哪家放心? 怪物猎人世界肉块交货方法介绍介绍_怪物猎人世界肉块交货方法介绍是什么... 怪物猎人世界肉块获得方法介绍介绍_怪物猎人世界肉块获得方法介绍是什么... 开心消消消赚钱版福利 oppo9007用小欧工程师root后怎么去除手机上的root警告? 梦见一条白色大虫子的预兆 oppo手机里的表情怎么没有中文显示呢 oppo手机827t怎么表情里面没有字的解释 梦见死去人的棺材的预兆 梦见我妈把死人的棺材踩烂的预兆 限购令下如何买房 北京市公寓限购吗 北京2023年房产限购政策 2018年北京限购政策细则怎么解读 北京限购房政策解读 怎么写班委自荐信 什么叫教育部直属师范大学公费师范生 梦见额头发烫的预兆 为什么要过年,为什么要除夕? 建信人寿保险费sa什么意思 SUM在保险代表什么意 欧文锯寿命 银行贷款好些天了,我问啊天放款,人家总说这两天这两天是什么原因? 银行说周一放款会到吗是真的吗 打开电脑的软件有打开安全警告,怎么可以去除了,感觉烦死了 梦见买了白布的预兆 不是好友怎么解封? 被封了怎么查看账号? 优秀员工推荐信【5篇】精选范文 梦见两只喜鹊被射死了的预兆 梦见被喜鹊咬的预兆 梦见黑虫爬在身上 梦见身上长黑虫子的预兆 梦见有几只黑虫子在身上爬的预兆 梦见开门车钥匙断了 彭城之战项羽以少胜多 为什么垓下之战项羽却做不到了? 结婚祝福语 创意句子 梦见天上飞机的预兆 梦见庞大飞机在天上飞的预兆 登录电脑版的千牛时提示“千牛登录失败,服务器返回异常,请退出重新登录”怎么办? 快走减肥要注意什么 走路能减肥吗走路减肥法需注意哪些 在微信中点拍照OIS防抖有用吗? 小学低段优秀黑板报 优秀黑板报图片大全