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