一. 點(diǎn)擊uiscrollview
的子視圖呆瞻,即使不產(chǎn)生滑動(dòng)径玖,總是會(huì)走- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
測(cè)試發(fā)現(xiàn):
- 如果是代碼創(chuàng)建的
scrollview
痴脾,在scrollview
上面添加子視圖button
,點(diǎn)擊button
,不產(chǎn)生滑動(dòng),并不會(huì)走scrollViewDidEndDecelerating
- 如果是
xib
創(chuàng)建的scrollview
,點(diǎn)擊button
,即使不產(chǎn)生任何滑動(dòng)芽狗,總是會(huì)走scrollViewDidEndDecelerating
顾复,即使添加的是其他子視圖uiview
,也是一樣。這種情況包帚,只需要取消scrollview.pagesnable=yes
拘哨,就可以了倦青。是不是xib多設(shè)置了什么東西峭沦,沒(méi)搞明白菇肃。
二. xib自定義的控件,用純代碼加載质礼,報(bào)錯(cuò)找不到xib控件拉好的IBOutlet屬性
- 報(bào)錯(cuò):
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIView 0x12e80adb0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key searchBtn
- xib控件File`s Owner關(guān)聯(lián)的類取消刽宪,改由view關(guān)聯(lián)對(duì)應(yīng)的類
- xib的屬性全部重新拉線(由File`s Owner改為view關(guān)聯(lián),拉線的屬性不改還是會(huì)報(bào)錯(cuò))
- xib控件是作為另一個(gè)xib的子視圖凭疮,不是由代碼加載,不用改
三. scrollview滑動(dòng)卡住,也不崩潰觅赊。
- (void)layoutSubviews不要做任何frame的更新,因?yàn)閟crollview滑動(dòng)會(huì)一直調(diào)用- (void)layoutSubviews,里面做frame更新堕花,又會(huì)反過(guò)來(lái)調(diào)用- (void)layoutSubviews,就會(huì)一直卡在這個(gè)方法里
四.scrollview里面添加button或者其他控件摹蘑,不能點(diǎn)擊
- 是因?yàn)閟crollview加了撐開(kāi)的contentview,button又加載contentview上敞映,contentview高度或者寬度顯示不下button,導(dǎo)致點(diǎn)擊傳遞事件到了contentview就找不到下層的button了伏恐。
- 層級(jí)關(guān)系: scrollview-> contentview->button孩哑,contentview的size裝載不下button。傳遞事件斷裂
五. tablefooterview的按鈕不能點(diǎn)擊
- 很多帖子講是
tabletooterview``的高度不夠翠桦,這其實(shí)是個(gè)很明顯的問(wèn)題横蜒,跟
上面第四條```道理一樣。 - 但其實(shí)销凑,我有次明顯設(shè)置了
footerview
的高度丛晌,也看了層級(jí)關(guān)機(jī),沒(méi)有被遮擋斗幼。后來(lái)發(fā)現(xiàn)澎蛛,原來(lái)是設(shè)置了漸變色的原因,因?yàn)闈u變色是用layer去實(shí)現(xiàn)的蜕窿,直接把漸變色layer加在button上谋逻,會(huì)遮擋button文字顯示。所以寫(xiě)了個(gè)分類桐经,漸變色layer加載一個(gè)bgview上毁兆,再把bgview加在button的最底層。這樣就可以實(shí)現(xiàn)漸變色背景的按鈕阴挣。但是F椤!E线帧茎芭!我們點(diǎn)擊的響應(yīng),也直接點(diǎn)擊在bgview上盒卸,所以button接收不到響應(yīng)鏈。解決辦法次氨,bgView.isUserInteractionEnabled = false
/或者self.colorView.userInteractionEnabled = NO
蔽介。部分代碼如下:let gradientLayer = CAGradientLayer() gradientLayer.frame = self.bounds gradientLayer.colors = array gradientLayer.locations = [0.0,1.0] gradientLayer.startPoint = CGPoint.init(x: 0, y: 0.5) gradientLayer.endPoint = CGPoint.init(x: 1, y: 0.5) let bgView = UIView(frame: self.bounds) bgView.isUserInteractionEnabled = false //不設(shè)置這句,button的點(diǎn)擊是點(diǎn)擊在bgview上 self.addSubview(bgView) self.sendSubviewToBack(bgView) bgView.layer.addSublayer(gradientLayer)
五. tableview.tableFooterView和tableview.tableHeaderView的高度或者寬度有問(wèn)題煮寡。
- tableview.tableFooterView要初始化frame
- tableview.tableFooterView不能直接=self.footerView虹蓄,解決辦法,先賦值一個(gè)view幸撕,再讓view addsubview薇组,如下:
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 700)];
[view addSubview:self.footerView];
tableview.tableFooterView = view
- tableview.tableHeaderView同理
六.@property (getter=isActive) BOOL active,設(shè)置yes/no坐儿,不生效
- 我遇到的情景是律胀,做聊天氣泡時(shí)宋光,xib上拉label的left和right約束,根據(jù)內(nèi)容決定label的left或者right約束的active是yes還是no炭菌,從而決定label是靠左還是右罪佳。然后有時(shí)候會(huì)出現(xiàn)label左右位置混亂。解決:
- 拉lable的left或者right作為屬性時(shí)黑低,是weak修飾赘艳,改為strong就可以了(個(gè)人猜測(cè),當(dāng)active=no時(shí)克握,約束不生效的原因蕾管,其實(shí)就是移除了該約束,然而因?yàn)槭莣eak修飾菩暗,當(dāng)再次設(shè)置該約束active=yes時(shí)掰曾,其實(shí)該約束已經(jīng)不存在了,所以更改strong修飾后勋眯,再次修改active=yes婴梧,還是能生效)。
七客蹋。更改狀態(tài)欄顏色問(wèn)題(-(UIStatusBarStyle)preferredStatusBarStyle
不調(diào)用問(wèn)題)
在info.plist 中 View controller-based status bar appearance 一定要改為為 YES
-
navigationcontroller
中添加:- (UIViewController *)childViewControllerForStatusBarStyle { return self.topViewController; }
-
每個(gè)
Viewcontroller
中添加:-(UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleDarkContent; }
需要注意塞蹭,如果有導(dǎo)航欄
navigationcontroller
,狀態(tài)欄顏色由導(dǎo)航欄統(tǒng)一管理讶坯,事實(shí)上由導(dǎo)航欄管理也最好番电。如果需要單獨(dú)改變某個(gè)狀態(tài)欄,就單獨(dú)在那個(gè)控制器實(shí)現(xiàn)preferredStatusBarStyle
狀態(tài)一直是白色辆琅,怎么也改不到黑色:暗黑模式下無(wú)法設(shè)置為黑色漱办,關(guān)閉暗黑模式
info.plist
-->Appearance = Light
。關(guān)閉之后再檢查preferredStatusBarStyle
返回的是深色字體還是白色字體婉烟。
八娩井。使用UINavigationController,控制器self.view距離頂部的距離似袁,一會(huì)高洞辣,一會(huì)低董饰。(UICollectionView/UITableView
頂部會(huì)留白的解決辦法)
- 場(chǎng)景:從控制器A塔猾,進(jìn)入控制器C卡睦,C的self.view是全屏残拐,距離頂部是0堪旧。從控制器B吨掌,進(jìn)入控制器C洒扎,C的self.view距離頂部有個(gè)一導(dǎo)航欄的高度瓣履。這就導(dǎo)致控制器C寫(xiě)這樣的布局啼县,也會(huì)變化:
[_headerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.view).offset(0);
}];
- 原因:設(shè)置
.translucent
這個(gè)屬性材原,會(huì)影響UIViewcontroller
的布局:-
.translucent = NO
沸久,導(dǎo)航欄取消毛玻璃效果(導(dǎo)航欄設(shè)置什么顏色就是什么顏色,可以理解為會(huì)遮擋下一層的self.view)华糖,self.view的原點(diǎn)是從導(dǎo)航欄左下角
開(kāi)始計(jì)算麦向。 -
.translucent = YES
,導(dǎo)航欄顯示毛玻璃效果(導(dǎo)航欄會(huì)有一層模糊的半透明的毛玻璃效果客叉,可以理解為诵竭,即使第一層從導(dǎo)航欄滾過(guò),也會(huì)看到一點(diǎn)點(diǎn)兼搏,不會(huì)遮擋self.view)卵慰,self.view的原點(diǎn)是從導(dǎo)航欄左上角
開(kāi)始計(jì)算。
-
- 解決:在哪個(gè)控制器設(shè)置過(guò)
self.navigationController.navigationBar.translucent = NO
佛呻,就在這個(gè)控制器viewWillDisappear
中裳朋,設(shè)置回來(lái)(self.navigationController.navigationBar.translucent = YES)
- 或者直接設(shè)置:(
self.collectionview/self.tableview
頂部會(huì)留白的解決辦法)if (@available(iOS 11, *)) { self.collectionView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; }else{ self.automaticallyAdjustsScrollViewInsets = NO; }
九。兩個(gè)UICollectionView嵌套吓著,都使用MJRefresh鲤嫡。滑動(dòng)方向沖突
- 場(chǎng)景:UICollectionView
(A)
和UICollectionView(B)
绑莺。A
是橫向滾動(dòng)暖眼,每個(gè)cell是當(dāng)前控制器的view
大小。B
是縱向滾動(dòng)的瀑布流布局纺裁,加載A
的cell上诫肠。
這個(gè)時(shí)候在屏幕上斜方向滑動(dòng),會(huì)產(chǎn)生A
和B
同時(shí)一起斜方向滑動(dòng)
欺缘。按照?qǐng)鼍靶枨蠖霸ィ瑧?yīng)該是要么縱向滾動(dòng)瀑布流,要么橫向滾動(dòng)頁(yè)面谚殊。 - 原因:后來(lái)看了
MJRefresh
源碼丧鸯,大概是,他給UICollectionView
加了一個(gè)滑動(dòng)手勢(shì)嫩絮,滑動(dòng)時(shí)候丛肢,把scrollview
的contentInset
還是contentOffset
來(lái)著,把它的值改變絮记,形成繼承于scrollview
的視圖也跟著手勢(shì)滑動(dòng)的效果摔踱。- 至于為什么一個(gè)
collectionview
不會(huì)斜方向滑動(dòng)虐先,兩個(gè)嵌套就會(huì)斜方向滑動(dòng)怨愤,就沒(méi)有深入追究了
- 至于為什么一個(gè)
- 解決:
- 要么
A
和B
,只留一個(gè)使用MJRefresh
蛹批。上拉刷新下拉加載的功能也就只能添加在A
或者B
上撰洗。 - 要么就把
A
或者B
的mj_header
和mj_footer
給移除掉篮愉,其實(shí)產(chǎn)生的效果等同于上面。
- 要么
十.UITableView差导,用masnory布局約束试躏,發(fā)現(xiàn)底部往下偏移了,也就是底部有部分顯示不了
- 場(chǎng)景:
這個(gè)情況比較特殊设褐,不具備普遍化颠蕴,自己碰到過(guò),記下來(lái)
助析。因?yàn)樯厦娴?code>九條原因犀被,所以自己在自定義TableView基類的時(shí)候,會(huì)用一個(gè)方法禁止掉MJRefresh
功能:self.mj_header?.scrollView?.bounces = false self.mj_footer?.scrollView?.bounces = false self.mj_header?.scrollView?.contentInset = .zero self.mj_footer?.scrollView?.contentInset = .zero self.mj_header?.endRefreshing() self.mj_footer?.endRefreshing() self.mj_footer?.removeFromSuperview() self.mj_header?.removeFromSuperview()
然而外冀,在不需要刷新功能的界面寡键,為了防止出現(xiàn)布局混亂,調(diào)用了上面這個(gè)方法雪隧,結(jié)果就出現(xiàn)tableview
底部西轩,被屏幕遮住了。而檢查約束條件make.edges.equalToSuperview()
脑沿,這完全沒(méi)問(wèn)題藕畔。
- 原因:打開(kāi)層級(jí)顯示,定位
TableView
,發(fā)現(xiàn)這段話:
baseClass = UITableView; frame = (0 64; 375 603); clipsToBounds = YES;
contentOffset: {0, 198}; contentSize: {375, 845}; adjustedContentInset: {0, 0, -44, 0};
contentOffset: {0, 198}
捅伤,這說(shuō)明tableview無(wú)緣無(wú)故往下移動(dòng)了198
劫流。這是什么原因?
- 解決:無(wú)意中丛忆,注釋掉上面說(shuō)的基類tableview中的禁止
MJRefresh
功能方法中的祠汇,兩行代碼,解決了熄诡!而且層級(jí)定位發(fā)現(xiàn)contentOffset: {0, 0}
就是注釋了這兩行代碼 //self.mj_header?.scrollView?.contentInset = .zero //self.mj_footer?.scrollView?.contentInset = .zero
- 思考:為什么可很,
MJRefresh
中的mj_header/mj_footer
,禁止scrollView?.contentInset
凰浮,會(huì)導(dǎo)致UITableView的contentOffset: {0, 198}
我抠,MJRefresh做了什么? - 探究:
- 原來(lái)
self.mj_header?.scrollView?
等于self.mj_header?.superView
等于self(tableView)
- 然而,斷點(diǎn)打印如下:
(lldb) po self.mj_header?.scrollView?.contentInset ? Optional<UIEdgeInsets> ? some : UIEdgeInsets - top : 0.0 - left : 0.0 - bottom : 44.0 - right : 0.0
- 所以袜茧,注釋掉那兩行代碼菜拓,就是讓
tableview.contenInset
,由系統(tǒng)建立的距離底部的值bottom=44(正常顯示)
變成bottom=0(被遮擋一部分)
笛厦,可不就是遮擋了嘛
- 原來(lái)
- 最后:至于為什么不注釋那兩行纳鼎,
contentOffset: {0, 0}
,注釋掉就變成contentOffset: {0, 198}
。有待考證
十一.UICollectionView截屏贱鄙,顯示不全問(wèn)題
- 場(chǎng)景: 自定義布局的UICollectionView劝贸,cell是xib,一個(gè)section只有一個(gè)item逗宁。需要截取全部collectionView映九,生成圖片分享。截屏代買(mǎi)如下:
let frame = collectionView.frame UIGraphicsBeginImageContextWithOptions(collectionView.contentSize, false, 0) collectionView.layer.frame = CGRect(x:0, y:0, width:kUIScreenWidth, height:collectionView.contentSize.height) collectionView.layer.render(in: UIGraphicsGetCurrentContext()!) let collectionViewImg = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() collectionView.frame = frame return collectionViewImg
- 問(wèn)題:上面代碼瞎颗,只會(huì)截取
已經(jīng)出現(xiàn)在屏幕的cell
件甥,對(duì)于未出現(xiàn)的cell,截取的空的哼拔。 - 原因:
- 原來(lái)在基類控制器設(shè)置過(guò):
self.navigationController?.navigationBar.isTranslucent = false
-
isTranslucent = false
設(shè)置帶來(lái)的直接結(jié)果是嚼蚀,控制器的頂部
與屏幕的頂部
距離一個(gè)導(dǎo)航欄的高度 - 也會(huì)導(dǎo)致截屏?xí)r,對(duì)于未展示過(guò)的cell管挟,不會(huì)調(diào)用datasource去加載cell轿曙,所以未展示過(guò)的cell的layer,自然是空白的僻孝。(為什么會(huì)這樣导帝,不得而知)
- isTranslucent 其他的影響
- 原來(lái)在基類控制器設(shè)置過(guò):
十二. UICollectionView反向序列排列
- 場(chǎng)景:
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
下,collectionview滾動(dòng)是從右往左滾動(dòng)的穿铆,那么如果從坐往右滾動(dòng)呢您单?比如滑動(dòng)翻日歷,往往進(jìn)去就是默認(rèn)最近的日歷荞雏,往前翻虐秦,就需要反向排列了。 - 解決:自定義
UICollectionViewFlowLayout
,全部代碼如下:#import "RCalendarLayout.h" @implementation RCalendarLayout ///決定flowyout是否能主動(dòng)選擇其他滾動(dòng)方向凤优,默認(rèn)NO - (BOOL)flipsHorizontallyInOppositeLayoutDirection { return YES; } ///決定flowyout的滾向,默認(rèn)是LeftToRight - (UIUserInterfaceLayoutDirection)developmentLayoutDirection { return UIUserInterfaceLayoutDirectionRightToLeft; } @end
- 這兩個(gè)方法的理解可能有誤悦陋,最好點(diǎn)進(jìn)原方法,看注釋筑辨。
十三. UICollectionView的UICollectionElementKindSectionHeader
俺驶,設(shè)置在Cell的背后。
- 默認(rèn)自定義
UICollectionElementKindSectionHeader
的時(shí)候棍辕,會(huì)在cell的上層暮现,如果要cell遮擋sectionHeader
的效果,就要自定義UICollectionViewFlowLayout
楚昭,具體方法如下:- (NSArray<__kindof UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect { NSArray *attributes = [[super layoutAttributesForElementsInRect:rect] copy]; for (UICollectionViewLayoutAttributes *attr in attributes) { CGRect frame = attr.frame; if (frame.size.height < 300) { CGPoint origin = frame.origin; origin.y = origin.y - 60; frame.origin = origin; attr.frame = frame; attr.zIndex = attr.indexPath.row + 1;///此屬性是關(guān)鍵栖袋,cell.zIndex 最小值是1,依次遞增 }else{ attr.zIndex = 0;///此屬性是關(guān)鍵抚太,sectionheader.zIndex 永遠(yuǎn)是0 } } return attributes; }
十四. UITableView的tableHeaderView | sectionHeaderView留白解決方法
-
方法1:
tableHeaderView
: 一般解決辦法(帶有導(dǎo)航欄)
:///self=UIViewController ///tableView.tableViewStyle = UITableViewPlan if #available(iOS 11.0, *) { tableView.contentInsetAdjustmentBehavior = .never } else { self.automaticallyAdjustsScrollViewInsets = false }
-
方法2: 我的場(chǎng)景是:
沒(méi)有導(dǎo)航欄
塘幅,tableView.tableViewStyle = UITableViewGroup
菇怀,設(shè)置方法1后
,還是留白晌块。- 需要再加上以下屬性:
其實(shí)就是要設(shè)置tableView的sectionHeaderView
和tableHeaderView
的高度tableView.tableHeaderView = UIView(frame:.zero) # 如果上面不生效,則用下面方法試試 self.tableView.tableHeaderView = UIView(frame:CGRect(x:0, y:0, width:0.01, height: 0.01)) self.tableView.tableFooterView = UIView(frame:CGRect(x:0, y:0, width:0.01, height: 0.01))
- 需要再加上以下屬性:
-
方法3: 我的場(chǎng)景是:
頂部空白高度
=22
,(沒(méi)有導(dǎo)航欄帅霜,tableView.tableViewStyle = UITableViewPlain)
,iphone8
,ios16.1
,if #available(iOS 15.0, *) { self.tableView.sectionHeaderTopPadding = 0 } else { }
-
其他類似的問(wèn)題匆背,可能會(huì)誤導(dǎo)致頂部有一段小留白的:
-
sectionHeaderView
: 也有個(gè)類似的場(chǎng)景:tableview的style = .group
時(shí),sectionHeaderView
的高度身冀,會(huì)有默認(rèn)的一段高度钝尸。即使設(shè)置了delegate
的sectionHeaderView
的高度return 0
不生效。return = 0.01
生效搂根。 -
sectionFooderView
同上珍促。 - 小結(jié):在某些iOS版本中,
tablestyle = .group
場(chǎng)景下剩愧,無(wú)論是tableHeaderView
還是sectionHeaderView
猪叙,對(duì)其相應(yīng)的方法設(shè)置高度=0
,都無(wú)效仁卷,需要設(shè)置高度=0.01
-
十五.關(guān)于切圓角不生效問(wèn)題
- 下面代碼不生效問(wèn)題:
cell.contentView.cornerRadius = 10; cell.contentView.layer.masksToBounds = YES;
- 檢查
cell
的顏色穴翩,color會(huì)影響layer。某種情況下發(fā)現(xiàn)锦积,xib設(shè)置的cell芒帕,如果背景顏色是默認(rèn)的,上面呢代碼不會(huì)生效丰介。 - 設(shè)置圓角加陰影背蟆,用以上方法,會(huì)產(chǎn)生離屏渲染哮幢,用下面方法:
let bounds = CGRect(x:0, y: 0, width:w, height: 216.0/162*w) self.layer.shadowPath = UIBezierPath(roundedRect:bounds, byRoundingCorners:[.topLeft,.topRight,.bottomLeft,.bottomRight], cornerRadii: CGSize(width:4, height: 4)).cgPath self.layer.shadowColor = "#CFCFCF".color().cgColor self.layer.shadowOffset = CGSize(width: 0, height: 0) self.layer.shadowRadius = 4 self.layer.shadowOpacity = 1 self.layer.cornerRadius = 4 self.layer.masksToBounds = false ///一定要設(shè)置這個(gè)
十六.UITextView帶link的富文本带膀,下劃線和link字符串顏色設(shè)置問(wèn)題
let text = "By clicking start, you agree to our Terms and Conditions and Privacy Statement.".attri(UIFont.systemFont(ofSize: 14), "#E2665C".color())
var attri = [.underlineStyle:NSUnderlineStyle.single.rawValue,.underlineColor:"#E2665C".color(),.link:"privacy"] as [NSAttributedString.Key : Any]
var attri2 = [.underlineStyle:NSUnderlineStyle.single.rawValue,.underlineColor:"#E2665C".color(),.link:"agreement"] as [NSAttributedString.Key : Any]
text.addAttributes(attri, range: NSRange(location:36, length: 20))
text.addAttributes(attri2, range: NSRange(location: 61, length: 18))
self.agreement.attributedText = text
self.agreement.linkTextAttributes = [.foregroundColor:"#E2665C".color()]
十七.XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a
- error:
SDK does not contain 'libarclite' at the path
'/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a';
try increasing the minimum deployment target
- 原因:
Xcode 14.3移除了arc目錄,因?yàn)閄code 14支持的最低部署目標(biāo)iOS 11, 最低部署版本的系統(tǒng)都已經(jīng)內(nèi)置了ARC相關(guān)的庫(kù), 我們只需要將第三方庫(kù)部署目標(biāo)的iOS版本設(shè)置成和應(yīng)用最低部署目標(biāo)的iOS版本即可
- 解決方法1: 原方法摘自這
試過(guò),并不能統(tǒng)一解決第三方庫(kù)的目標(biāo)最低部署版本
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' #9.0
end
end
end
end
但是橙垢,我的Podfile本砰,加上上面方法,會(huì)報(bào)很多錯(cuò)誤8直5愣睢!
- 解決方法2: 根據(jù)上面所說(shuō)莺琳,將第三方庫(kù)的最低部署iOS的版本还棱,改到
ios11
以上就可以了- Xcode 左側(cè)文件欄最頂部,有個(gè)??號(hào)的按鈕惭等,點(diǎn)擊珍手,找到報(bào)錯(cuò)的第三方庫(kù)
- 左側(cè)文件欄,點(diǎn)擊
Pods.xcodeproj
->Targets
->對(duì)應(yīng)三方庫(kù)
->General
->修改Minimum Deployments = iOS11以上
-
解決方法3:
既然最新的xcode沒(méi)有這
arc個(gè)文件夾,那 下載
arc文件夾琳要,放到對(duì)應(yīng)路徑下就可以了
- 進(jìn)入路徑
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/
寡具。 - 下載
arc文件夾
,放到lib/下 - 如果有
arc文件夾
稚补,那么就下報(bào)錯(cuò)對(duì)應(yīng)的libarclite_iphonesimulator.a
童叠,放到arc文件夾下 -
arc文件夾
和對(duì)應(yīng)的x x x.a庫(kù)文件
,到別的xcode路徑下粘貼復(fù)制
- 進(jìn)入路徑
十八.Command PhaseScriptExecution failed with a nonzero exit code
- 該報(bào)錯(cuò)有一定概率是cocoapods 的問(wèn)題课幕,可以試試升級(jí)版本:
更新gem:
sudo gem update --system
下載最新版本:
sudo gem install -n /usr/local/bin cocoapods --pre
19. Showing Recent Errors Only Sandbox: rsync.samba(93467) deny(1) file-write-create
- 現(xiàn)象:
Showing Recent Errors Only Sandbox: rsync.samba(93467) deny(1) file-write-create /../../../xxxx
類似的問(wèn)題厦坛。 - 解決:Xcode ->target->building setting:
ENABLE_USER_SCRIPT_SANDBOXING
=否
。