一、iPone Size:
員工經(jīng)過長(zhǎng)期磨合與沉淀,具備了協(xié)作精神,得以通過團(tuán)隊(duì)的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。成都創(chuàng)新互聯(lián)堅(jiān)持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因?yàn)椤皩W⑺詫I(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡(jiǎn)單”。公司專注于為企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、電商網(wǎng)站開發(fā),微信小程序開發(fā),軟件按需制作網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。
二、給navigation Bar 設(shè)置title顏色
三、如何把一個(gè)CGPoint存在數(shù)組里
四、UIColor 獲取RGB值
五、修改textField的placeholder的字體顏色和大小
六、兩點(diǎn)之間的距離
七、ios開發(fā)-關(guān)閉/收起鍵盤方法總結(jié)
1、點(diǎn)擊Return按鈕時(shí)收起鍵盤
2、點(diǎn)擊背景View收起鍵盤(View必須是繼承于UIControl)
3、在任何地方加上這句話,可以用來(lái)統(tǒng)一收起鍵盤
八、在使用ImagesQA。xcassets時(shí)需要注意
九、UIPickerView判斷開始選擇到選擇結(jié)束
十、ios模擬器 鍵盤事件
十一、在ios7上使用size classes后上面下面黑色
十二、設(shè)置不同size在size classes
十三、線程中更新UILabel的text
十四、使用UIScrollViewKeyboardDismissMode實(shí)現(xiàn)了Message app的行為
十五、報(bào)錯(cuò)”_sqlite3_bind_blob",referenced from:
十六、ios7 statusbar 文字顏色
十七、獲取當(dāng)前硬盤空間
十八、給UIView設(shè)置透明度,不影響sub views
十九、將color轉(zhuǎn)為UIImage
二十、NSTimer用法
二十一、Bundle identifier應(yīng)用標(biāo)識(shí)符
二十二、NSDate獲取幾年前的時(shí)間
二十三、ios加載啟動(dòng)圖時(shí)隱藏statusbar
二十四、ios開發(fā),工程中混合使用ARC和非ARC
二十五、ios7中bounbingRectWithSize:options:attributes:context:計(jì)算文本尺寸的使用
二十六、NSDate使用注意
二十七、在UIViewController中property的一個(gè)UIViewController的Present問題
二十八、UITableViewCell indentationLevel使用
二十九、ActivityViewController使用AirDrop分享
使用AirDrop進(jìn)行分享:
NSArray *array = @[@"test1",@"test2"];
UIActivityViewController *activityVC = [[UIActivityController alloc] initWithActivityItems:array applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:^{
NSLog(@"Air");
}];
就可以彈出界面:
三十、獲取CGRect的height
三十一、打印%
三十二、在工程中查看是否使用 IDFA
三十三、APP 屏蔽 觸發(fā)事件
參照連接
一般說來(lái),剛畢業(yè),活力四射,總是有一股子沖勁,心里也夢(mèng),想把不懂的東西都先弄明白,充實(shí)而忙碌。就算每天需要占用吃飯、睡覺的時(shí)間去學(xué)習(xí)與努力,也不會(huì)覺得累,總之時(shí)刻都會(huì)激情高昂的樣子。
后來(lái),工作兩三年,有足夠的能力應(yīng)付自己的工作了,也沒有之前那般拼命勁了。每天做的工作游刃有余,準(zhǔn)時(shí)上班,準(zhǔn)點(diǎn)下班。這個(gè)時(shí)候你要了解到有兩種情況:
1、這個(gè)工作你已經(jīng)勝任了,也證明了你的能力水平。
2、你的工作中出現(xiàn)瓶頸了,除了現(xiàn)有能夠處理的工作,你沒有一絲進(jìn)展。面對(duì)這兩種情況,你要思考是否是處在了舒適區(qū)。
盡管,你每天熟練的處理手頭工作,日子過得也特別快,但是總會(huì)感覺著空虛感和焦慮感相互交疊。所以,我相信你此刻需要跳出舒適區(qū)了。
每個(gè)人都想要成功,但也很容易沉溺于舒適的生活里。一份安穩(wěn)的工作,朝九晚五,余下時(shí)間可以和朋友與家人一起吃喝玩樂。這樣的日子無(wú)一不是大家所喜歡并期待的。但看到身邊很多人都成功了,內(nèi)心又有不甘,幻想著有朝一日能夠和他們一樣,出人頭地,但你真的能夠有勇氣跳出舒適區(qū)嗎?
首先,要重新去了解自己。了解自己就意味著什么呢?意味著接受。接受自己并不完美的一面。
1、 我并不完美,除了基礎(chǔ)技術(shù)能力之外,其他一無(wú)所長(zhǎng)。
2、 我并不成功,除了在現(xiàn)所處的公司,能應(yīng)對(duì)一些基礎(chǔ)問題之外,我的能力并沒有優(yōu)勢(shì)。
3、 我真正想要的東西,似乎離自己越來(lái)越遠(yuǎn)。
4、 很久沒有努力了,沒有那種奮斗的精神。
5、 不知道從何開始,害怕現(xiàn)有的東西都會(huì)失去了。
當(dāng)你習(xí)慣了很多東西之后,你明明在泥沼里,卻以為在任天堂一般。作為一枚程序員還想著安逸,這就是你的不對(duì)了?;ヂ?lián)網(wǎng)技術(shù)日新月異,程序員并不是只掌握一項(xiàng)技術(shù)就能夠高枕無(wú)憂了。想要改變現(xiàn)狀,可以從以下幾個(gè)方面了解:
如果,沒有曾經(jīng)那種激情了,如果,不知道從何開始,那就先將自己處于危險(xiǎn)之中,險(xiǎn)中求生,對(duì)安逸的人來(lái)說是很大的挑戰(zhàn)。
第一步 ,斬?cái)嗪舐?,不管現(xiàn)在你多安逸,你都要思考接下來(lái)該不該繼續(xù)安逸下來(lái),跳出這個(gè)區(qū)域,你要思考接下來(lái)將遇到最大的危險(xiǎn)是什么。比如說,現(xiàn)在的公司只能做手頭現(xiàn)有的工作,沒有辦法提升能力,那么是不是應(yīng)該去人才市場(chǎng)驗(yàn)證自己的能力和其他發(fā)展機(jī)會(huì)呢?倘若公司可以變通,那又應(yīng)該怎樣去做呢?可以直接跨入第二步。
第二步 ,行動(dòng)如風(fēng),不管你是離職重新估量自己的能力,還是在現(xiàn)任崗位上進(jìn)行提升,你都要明白自己現(xiàn)在有哪些問題,并且進(jìn)行分析與解決。你可以進(jìn)行職業(yè)規(guī)劃和能力評(píng)估。又該怎樣規(guī)劃?首先,置于危險(xiǎn)中并不是忽視后果,而是通過估量這個(gè)事情的危險(xiǎn)系數(shù)有多大,再進(jìn)行抉擇,其次就是職業(yè)規(guī)劃,你幾年后,乃至這一輩子,你的職業(yè)規(guī)劃是否適合,是否能夠執(zhí)行落地,你接下來(lái)要做的事情是否能夠通過自身努力與堅(jiān)持就能夠?qū)崿F(xiàn),實(shí)現(xiàn)不了,將怎么辦?這些都需要思考。
第三步 ,計(jì)劃落地。不管怎樣,你要面對(duì)的事情都不外乎是提升自己的能力。怎樣實(shí)施落地,可以做年計(jì)劃,半年計(jì)劃,周計(jì)劃、日計(jì)劃等等,這些需要堅(jiān)持下去,還要進(jìn)行分析,并調(diào)整方向,而不是做了就放任不管,那跟在舒適區(qū)并沒有什么特別之處,你要做的就是通過量變行動(dòng)達(dá)到質(zhì)變的效果。
我的一個(gè)iOS技術(shù)交流群:624212887,里面都是iOS開發(fā),全棧發(fā)展,歡迎入駐交流!
——點(diǎn)擊: 加入
別人都說35歲是程序員工作的終點(diǎn)。其實(shí),也可以算是程序員的另一段人生的開始。以上幾點(diǎn)問題,在這個(gè)年齡之前都要認(rèn)真去思考解決。做好技術(shù)積累,構(gòu)建個(gè)人核心競(jìng)爭(zhēng)力是程序員最主要的能力,接下來(lái)就是個(gè)人軟實(shí)力的塑造,有人說軟實(shí)力是虛的,但事實(shí)證明“成大事者不拘專業(yè),有軟實(shí)力笑傲江湖!”
那么該怎樣做呢?
技術(shù)能力 :是程序員不能丟的東西,你只有熟練操作技術(shù)能力,才能夠深入解決技術(shù)層面需要面臨的問題,以及該如何去解決。怎樣提升技術(shù)能力,方式有很多,無(wú)非就是能夠靜下來(lái),坐下去。只要你能在下班之后,認(rèn)真多加一兩個(gè)小時(shí)的班,將學(xué)習(xí)的知識(shí)融入實(shí)踐中去,技術(shù)能力就能夠提升上去。
軟實(shí)力提升 :可以從思維能力、溝通能力、表達(dá)能力、文化修養(yǎng)、學(xué)習(xí)能力、團(tuán)隊(duì)協(xié)作能力出發(fā),這些方面都會(huì)在生活和工作中體現(xiàn)出來(lái),可以閱讀和學(xué)習(xí)相關(guān)知識(shí),并通過刻意練習(xí)來(lái)提升相關(guān)能力。最主要的是,這些事情都有自己的線,而且時(shí)刻都要拽緊這根線,你才不會(huì)成為斷線風(fēng)箏,任意漂流。
古人云:“活到老,學(xué)到老?!蹦惴艞墝W(xué)習(xí),就等于慢性自殺。所以在沒有很大進(jìn)展的時(shí)刻,不如跳出來(lái),看看世界。這個(gè)世界能給你帶來(lái)哪些好處呢?
如果你提升了自己的技術(shù)能力,你至少可以獲得更多待遇更好的offer。那么你所面臨的層次就更上一層樓。技術(shù)沒有封頂,只有你觸不到的境界,要想到高境界除了自身努力和引導(dǎo)人之外,還需要環(huán)境的塑造。軟實(shí)力也是一樣,你遇到的人和問題深度也不一樣,自然解決的方式和效果也是不一樣。
我的iOS技術(shù)交流群:624212887,歡迎入駐交流,!——點(diǎn)擊: 加入
生活不可能是一帆風(fēng)順的,你怎么對(duì)它,它就一定會(huì)反饋給你。你努力奮斗所積累的能力,都會(huì)化作RMB回饋給你。比如說你的技術(shù)超厲害了,那么哪個(gè)HR會(huì)放過你呢?如果你的軟實(shí)力比如說思維、溝通等能力能讓你面前的問題全都解決掉,那又有哪個(gè)公司的老板不會(huì)拿高薪酬留住你呢?
“在自動(dòng)化測(cè)試過程中,Android可以用adb來(lái)輔助,IOS卻不太好操作,有沒有辦法呢?
在自動(dòng)化中,IOS我們可以用libimobiledevice來(lái)輔助做一些工作,用xcrun simctl可以來(lái)操縱模擬器,具體咋用呢?
什么是libimobiledevice
一個(gè)跨平臺(tái)的軟件協(xié)議庫(kù)和工具來(lái)與iOS設(shè)備進(jìn)行本地通信 LipimBielEdter是一個(gè)跨平臺(tái)的軟件庫(kù),用于支持iPhone等mac設(shè)備的協(xié)議。不像其他項(xiàng)目,它不依賴于使用任何現(xiàn)有的專有庫(kù),不需要越獄。它允許其他軟件輕松訪問設(shè)備的文件系統(tǒng),檢索有關(guān)設(shè)備及其內(nèi)部設(shè)備的信息。官方網(wǎng)站: github地址:
安裝(Install For MacOS)
1、打印app列表和信息
2、查看當(dāng)前已連接的設(shè)備的UUID
3、獲取設(shè)備信息
4、獲取設(shè)備時(shí)間
5、重啟設(shè)備
6、安裝ipa包,卸載應(yīng)用
7、查看系統(tǒng)日志
idevicesyslog//屏幕上即可看見手機(jī)上所有的日志
idevicesyslog iphone.log //該命令是將日志導(dǎo)入到iphone.log這個(gè)文件,并且是在后臺(tái)執(zhí)行。//然后用tail -f和grep查看log
tail -f iphone.logtail -f iphone.log | grep 'WeChat’ # 查看包含WeChat的行
8、截圖idevicescreenshot//如果在使用截圖的時(shí)候出現(xiàn)報(bào)錯(cuò)信息,那么就去把相應(yīng)版本的DeveloperDiskImage的兩個(gè)文件復(fù)制到libimobiledevice文件下面。
路徑:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/對(duì)應(yīng)版本/
獲取版本號(hào)命令:
安裝DeveloperDiskImage命令:
9、 遇到報(bào)錯(cuò)
解決方法:卸載重裝
遇到的問題 問題1 執(zhí)行命令ideviceinfo
問題2 安裝過程報(bào)錯(cuò):
解決方案:
問題3:執(zhí)行 ideviceinstaller -i ‘安裝包路徑’。拋出錯(cuò)誤如下:
解決方案:卸載ideviceinstaller,安裝最新版本的ideviceinstaller
操作iOS模擬器命令(xcrun simctl)
在做自動(dòng)化測(cè)試的時(shí)候,有時(shí)候用模擬器來(lái)代替真機(jī),這樣有幾個(gè)好處,一個(gè)是不一定有那么多真機(jī)設(shè)備,可以節(jié)約資源,還有就是不存在電量耗盡的情況。
我們需要了解一下模擬器和真機(jī)的區(qū)別:模擬器是i386處理器 真機(jī)是arm系列。arm是嵌入式設(shè)備的cpu,理論上的確精度要差一些。所以在編寫移動(dòng)設(shè)備時(shí)應(yīng)當(dāng)充分的考慮這些因素。
硬件限制 iOS 模擬器沒有硬件限制,比如內(nèi)存。所以會(huì)有應(yīng)用出現(xiàn)在模擬器上很快,真機(jī)很慢的情況,原因是真機(jī)的內(nèi)存被用完了。
我們?cè)谧龌镜墓δ茏詣?dòng)化,可以用模擬器來(lái)代替。我們可以用命令來(lái)操作模擬器,下面來(lái)看看xcrun simctl有哪些功能吧!
截圖
錄屏命令
查看已安裝的設(shè)備
啟動(dòng)模擬器
關(guān)閉模擬器
重置模擬器
清理不可用的模擬器
安裝指定app
運(yùn)行指定的app
關(guān)閉已經(jīng)打開的應(yīng)用
卸載指定應(yīng)用
在模擬器與Mac設(shè)備之間進(jìn)行復(fù)制粘貼pbcopy pbpaste
更多功能查看
這些命令,自己可以寫一個(gè)包來(lái)調(diào)用,例如:
經(jīng)驗(yàn)在于積累,在日常工作中,點(diǎn)滴積累,也許就能大幅度提高工作效率!
iOS開發(fā)交流技術(shù)群: 563513413 ,不管你是大牛還是小白都?xì)g迎入駐 ,分享BAT,阿里面試題、面試經(jīng)驗(yàn),討論技術(shù), 大家一起交流學(xué)習(xí)成長(zhǎng)!
相信各位讀了之前的兩篇文章,對(duì)pods的使用已經(jīng)相當(dāng)熟練了。不過在紛繁復(fù)雜的實(shí)際使用場(chǎng)景下,可能還是會(huì)遇到一些問題。本文就結(jié)合自己的實(shí)踐經(jīng)驗(yàn),做一些快問快答,希望大家能多多補(bǔ)充交流。話不多說,那我們就即刻開始吧!
pod系列文章
Cocoapods,讓iOS開發(fā)更簡(jiǎn)單(一):走近Cocoapods
Cocoapods,讓iOS開發(fā)更簡(jiǎn)單(二):創(chuàng)建私有庫(kù)
Cocoapods,讓iOS開發(fā)更簡(jiǎn)單(三):實(shí)踐經(jīng)驗(yàn)匯總
一文帶你快速分清靜態(tài)庫(kù)-動(dòng)態(tài)庫(kù)-Framework
一般推薦使用指定版本或范圍版本號(hào),以確保依賴的穩(wěn)定性。
總結(jié) :能用pod install解決問題的,就不要用pod update。因?yàn)閜od update會(huì)把依賴庫(kù)全部檢查一遍,不僅慢有時(shí)候還會(huì)出現(xiàn)坑。
忽略Pods警告,有些第三方Pod集成進(jìn)來(lái)會(huì)有一大堆警告信息,在Podfile中對(duì)應(yīng)的target或分組下加上關(guān)鍵字inhibit_all_warnings!就可以把警告忽略。
作用:
在pods中用frameworks替代.a靜態(tài)庫(kù)。
場(chǎng)景:
swift項(xiàng)目pods默認(rèn)開啟(use_frameworks!),OC項(xiàng)目pods默認(rèn)關(guān)閉(#use_frameworks!),同時(shí)需滿足以下兩點(diǎn),
解析:
swift工程依賴了OC工程的話,需要use_modular_headers!
示例:
為某個(gè) Pods 使用模塊化標(biāo)頭,可以使用以下語(yǔ)法:
pod 'TestPodLib', :modular_headers = true
另外,當(dāng)全局使用 use_modular_headers! 屬性時(shí),同時(shí)還可以使用以下方法從模塊化標(biāo)頭中排除特定的Pod:
pod 'TestPodLib', :modular_headers = false
版本格式:主版本號(hào).次版本號(hào).修訂號(hào),版本號(hào)遞增規(guī)則如下:
常用的方式調(diào)用pod中的素材是不生效的,因?yàn)槟J(rèn)是從mainBundle中讀取的,如
打在pod中的素材已經(jīng)不在mainBundle中而在對(duì)應(yīng)組件下的bundle 里面,所以應(yīng)該這么調(diào)用:
在用CocoaPods集成第三方庫(kù)之后,默認(rèn)情況下,使用類似#import XXX/YYY.h的方式引入第三方庫(kù)的頭文件。
pod search只會(huì)搜索本地緩存的庫(kù),如果想搜索到最新的第三方框架或者某個(gè)框架的最新版本,必須先使用pod repo update。