咱們的課程裏,有微信的這種菜單示例嗎?---酷課堂iOS交流群問答整理(201810期)
我們是一個什麽樣的組織:
酷課堂iOS交流群,聚集了一群熱愛技術、有趣、有料,平均Q齡在10年以上的“老司機”,他們遍布在全國/球各地,有知名企業iOS工程師、高校大學生、自由職業者……如果你也是這樣的人,歡迎加入我們,一起暢聊iOS技術及周邊。
“很幹”
“很佛系”
每晚11點後熄燈(禁言),只聊技術,幾乎不閑聊。
IT從業者自學成功的不少,但從入門到放棄的人更多。一個人走的快,一群人走的遠,希望你會是堅持到最後的那一波,希望我們可以一起相伴走的更遠一些。
付費學員專享福利:
(額外福利,不承諾永久提供!)
1.為了更好的交流,我們開設了QQ群
2.已購買課程的同學,請添加小課微信號:coolketang001、QQ:3068527144
3.截圖訂單號,即可獲取對應QQ群號,及免費練習源碼。
(蘋果商店的訂單號,可在購買賬號綁定的郵箱中找到)
酷課堂iOS交流群問答精華整理--201810期
本期關鍵詞:
1.《iOS移動開發從入門到精通》第二版圖書上市;
2.《互動教程》APP合集上線App Store;
3.《iOS從入門到精通》課程更新至Xcode10、iOS10、Swift4.2, 為了不影響你的學習進度,請已經購買的小夥伴,及時更新到最新課程,然後找小課拿課程最新源碼哦~
(註:《Swift4實例教程》和《iOS開發中的神兵利器》兩套課程正在更新中,完成後會在群裏和公眾號通知大家)
?新書上市:
雙十一期間,各平臺均有不同程度的促銷活動,感興趣的小夥伴,可以在當當、京東搜索“iOS 李發展”即可找到,投資自己越早越好。
? ? ? ? ? ? ? ? ? ? ? ? ? ?
本書內容簡介和適合人群:
本書包含Swift 4.0語言、Cocoa Touch、視圖控制器、控件、表格、網絡、地圖、音頻、視頻、動畫、觸摸、手勢、故事板、CoreData、性能測試、機器學習、增強現實、加密解密等眾多功能模塊。這些內容是iOS開發必知必會的內容,需要讀者重點掌握。
讀者對象:
通過對本書的學習,讀者可以基本建立起iOS 11技術的思想框架,並且對iOS 11開發的過程有一個全面的了解。因此本書適合iOS開發初學者、iOS程序員、iPhone開發人員、iPad開發人員的學習。
建議和意見:
如果你有關於本書的任何建議和意見,請隨時添加小課微信:coolketang001,和我們聯系,感謝!
當當網購買鏈接:
http://product.dangdang.com/25535011.html
本期問答詳情
年底就要到了,你還能沖一下鴨!快上車!
以下內容由@客服妹子爬樓整理,希望小夥伴的這些提問,對你有幫助/啟發,精選在此,喜歡請收藏,給答題的大佬們點贊!
感謝appman、賴著、風、回憶滿滿、神奇的海螺、???、MissLIBRA、King、???、強迫依存?、zhu、Warrior?、Jack、Joseph等大神們的分享和解答,特送上價值38元【互動教程APP合集】30天體驗名額一份.
這套課程集合了,iOS移動開發、PS平面設計、Excel辦公軟件等7門課程。
我們希望用這樣“手把手”帶著學的方式,讓更多人可以快速入門新領域。
請大神們隨時私信客服妹子領取。今後我們每月都會有送書、送課、送禮物等等福利,敬請期待~
蘋果商店互動教程合集下載鏈接:http://suo.im/4V00MR
1、需要在App裏做個用戶註冊登陸,用於保存用戶數據在服務器上,該怎麽弄?
(APP裏的後臺那塊不知道怎麽寫~用什麽寫?)
群主:
後臺那塊一般用Php、Python、Java來寫,
1.首先你需要先購買一個服務器,或者到阿裏雲買個雲空間。
2、Mac?活動監視器打不開,一打開就閃退,?那位大神給指點一下,多謝!
請參考這個:https://jingyan.baidu.com/article/359911f5954fb857fe0306bc.html?
3、低版本Xcode,用於iOS測試版本的SDK在哪裏下載呢??
這裏有各個版本的下載源:
https://developer.apple.com/download/more/?
4、請問,為什麽我創建的項目沒有push?notification??
群主:
如果你的賬號不是付費賬戶,則會有這種情況,其它情況請參考:https://stackoverflow.com/questions/30979218/no-push-notification-capability-in-xcode?
神奇的海螺:
調試過程中看到這個提示,不是付費的賬戶,連學習的資格都沒有了?
could?not?execute?support?code?to?read?Objective-C?class?data?in?the?process.?This?may?reduce?the?quality?of?type?information?available.
群主:
你進入蘋果開發者賬戶後臺,然後確認下是否已經開啟Push?Notifications。
神奇的海螺:
怎麽進去?
群主:
蘋果的一些advanced、capabilities需要付費賬戶才能顯示和使用,否則只能學習理論而無法在真機設備上實踐。
神奇的海螺:?
現在模擬器也沒有推送
群主:
點擊右上角的[Account],使用你的Apple?ID賬戶登陸
神奇的海螺:
在哪裏看
群主:
[Certificates,?Identifiers?&?Profiles?>?iOS?App?IDs]
神奇的海螺:
為什麽我的沒有documentation上面的那些菜單???
群主:
這個需要加入蘋果開發者計劃Apple?Developer?Program,然後就可以了。iOS?開發者計劃會員可以創建證書和配置文件,這樣才可以在真實設備(而不是模擬器)上測試應用程序。像定位、推送、內購、藍牙、iCloud等功能都需要真機測試。
這是加入流程:https://www.jianshu.com/p/043c6405c641?
神奇的海螺:
要交錢?
99刀/年?
我付款了
神奇的海螺:
想學好swift真的有點難,語法不穩定,API也不穩定。
學OC的話,還得從頭來。@群主swift4.2算是穩定下來了嗎?下一個版本API會不會又變了?下個月16號是否最終分支確定合並?
(為這位小夥伴的行動力點贊,年輕時投資自己,無疑是最好的升值方式。
從來不存在一件事,只要稍微努力就能做好。任何一份光彩奪目的成功,背後都是玩命地付出。共勉!
5、開發中遇到一個問題,需要保存一個五維數組,可以根據下標存取五維數組的數據。需要如何包裝處理?求大神指點一二
(程序員就是傳說中的好學、邏輯清晰的學霸本尊,沒錯了!)
五維數組其實就是多維數組,和普通數組的使用方法相同。
//聲明
var?array?=?Array<Array<Array<Array<Array<Int>>>>>()
//添加
array.append([[[[1,2],[3,4]]]])
array.append([[[[1,2],[3,4]]]])
//根據下標修改
array[1]?=?[[[[5,6],[3,4]]]]
//刪除
array.remove(at:?0)
群主:?
GitHub中有針對Swift數組常見功能的封裝,請參考《神兵利器》課程中的第5章的2、6、10節
漫道:
上述創建多維數組每個維度不好確定所表達的意義。
開發中需要每個維度都需要有具體的含義。
比如:三維的是長寬高,可以每個維度有不同的數值。
長1寬2高3的是一個123的立方體。
五維也需要這樣可以任意設置每個維度的數值。
比如
第一維的數值是1
第二維的數值是2
第三維的數值是3
第四維的數值是4
第五維的數值是5
每一個維度的數值都可以是任意的。需要判斷存取的五個下標是否在創建的數組中。根據五個下標存取,這樣該如何處理呢?
群主?2018/10/25?15:09:10
從所舉的正方體例子可以看出,這個需求使用結構體實現是否更合理一些?五個緯度用結構體的五個屬性表示,五維數組其實就是一維的結構體數組。
漫道:
結構體不能保存五個維度的數據。事實是需要要做一個數學方面的軟件。數組可能是N維的維度不確定~應該如何處理~
群主:
原來是線性代數中的矩陣數據的處理,機器學習中的多維數據往往是存在Python的一維數組中的,不可能幾維矩陣就用幾維數組,機器學習中的數據矩陣有上千個維度也很正常。
使用Swift處理矩陣和向量數據可以參考這裏:
https://medium.com/shidanqing/swift%E7%9F%A9%E9%98%B5%E4%B8%8E%E5%90%91%E9%87%8F%E8%BF%90%E7%AE%97-669a4973d2e?
漫道:
對的。N維數組可以存在一維數組中,那N維數組的下標和一維數組的下標應該有個公式,組合成對應關系。群主有沒有相關的公式?
矩陣的概念是專指二維數組。群主不要混淆了~
群主:
矩陣可以是多維的,以這個矩陣為例,當它轉為一維數組之後,a32在一維數組中的下標是(3-1)*n+(2-1)
漫道:
矩陣不講維數,維數是線性空間的性質,空間的維數是指它的基所含向量的個數,一個矩陣不能組成線性空間,不能講維數。
在數學中,矩陣的維數說法不一,並沒有定義矩陣的維數,?線性空間才有維數,?所以這造成了兩種解釋:
1.矩陣的維數是其行向量(或列向量)生成的向量空間的維數;
2.指它的行數與列數?(一般編程人員喜歡這樣定義,?因為他們關註的是數組的大小)。
矩陣的秩,其實就是第1種,即矩陣的維數就是矩陣的秩。
漫道-深圳-長跑?2018/10/25?16:24:27
先從具體的理解,長1寬2高3的一個123的立方體的每個元素放入一維數組中。對應關系?
(有木有人和小課一樣,對這位程序員小哥哥的數學App感興趣的,評論區告訴我~)
6、咱們的課程裏,有微信的這種菜單示例嗎?
參考這個微信popup示例:http://code.cocoachina.com/view/133636?
7、哪位老鐵知道這個該怎麽改?
蔣哥:
itemArray[indexPath.row]的值是字符串,字符串沒有done屬性,你可以先將itemArray[indexPath.row]的值賦予一個常量,然後檢查一下常量的值和類型。
8、ios?有什麽新的認證嗎?我在之前上架App?的時候沒有被拒絕,現在更新居然被拒絕了,怎麽破?神奇的海螺:?
你申請了定位,但是沒有說明為什麽要使用地位功能。
群主:
???:
我寫了,而且寫的很清楚?(好委屈,思密達~)?
群主:
可能是審核人員看不懂,你將截圖,以及將截圖文字翻譯成英文和中文之後,將這些申訴材料在後臺提交給審核人員即可。
???:
您指的後臺是這部分?
群主:
是的,在這裏回復審核人員
???:
我明白了,謝謝群主提示,我再試試。
9、升級swift?4.2這個堆棧,為什麽是空值呢?
群主:
需要在sendEmail方法的開頭,添加一條提示語句。這是由於用戶尚未在設備上設置郵箱的賬號,一旦設置好了就可以正常運行了。
神奇的海螺:
Mac登錄QQ還能顯示Mac在線?
神奇的海螺:
什麽郵箱都可以嗎?
群主:
是的設置一個郵箱就可以
?
10、有max?os開發的相關demo可以共享一下嗎?謝謝!
群主:
目前還沒有macOS方面的教程,你打算學來做什麽?
appleMan:?
用來給測試寫個自動打包的軟件
群主:?
@appleMan?自動打包可以使用腳本,參考這個https://github.com/stackhou/AutoPacking-iOS?
11、如何把拍的視頻上傳到服務器嗎,我現在做的是scoket。
群主:
不太適合使用Socket發送視頻,需要將視頻轉為Data,然後再使用蘋果提供的URLSession發送到服務器
12、swift有沒有搜索功能帶歷史記錄的demo可以參考一下,謝了!
群主:
@土豆?你是要搜索服務器上的數據,還是搜索本地CoreData中的數據?
土豆:
歷史搜索是本地記錄的數據是從服務器取。
群主:沒有這樣具體的Demo,需要手寫了,你可以使用URLSession獲取數據,Sqlite或Coredata存儲數據,具體參考相關的課程即可。
土豆:
那些我懂,我是不太明白用swift怎麽實現這個界面布局,
能告訴我一些思路或者有參考資料也行。
我在網上找到很多oc的,但是沒有swift的。
appleMan:
其實可以借鑒oc的思路哇,oc和swift是相同的
群主:
界面:頁面上方使用UITextField和一個按鈕,用戶在UITextField輸入搜索關鍵詞,點擊按鈕執行搜索的方法。
頁面下方使用UITalbleView顯示搜索的數據。
需要使用:
URLSession或Alarmofire獲取服務器數據
Sqlite或CoreData存儲本地數據
UIBttuon、UITextField、UITableView等界面組件
每個模塊咱們都有教程,你需要將它們聯結起來
豆?:
感謝群主提供的思路,我再研究一下。
?
13、老鐵們,有遇到這個情況的嗎?
(這是一條來自老司機的經驗分享)
appleMan:
蘋果不允許這樣的路由器,打開系統的某個設置了。
我之前也是遇到過這個被拒問題:
[NSURL?URLWithString:UIApplicationOpenSettingsURLString]改為這樣既可
風?:
@appleMan?這個不行的,入不了系統WiFI設置界面
appleMan:
那你試著將url進行轉碼看看,
能不能繞過蘋果的審核。
14、請問,怎麽把視頻轉成Data,再把Data轉成視頻呢,萬分感謝!
群主:
視頻轉Data簡單,參考這個https://www.ctolib.com/topics-114151.html?
OC版的需要修改成同名的Swift方法
Data轉視頻參考這個https://my.oschina.net/wayzhu/blog/1863493?
V先生:
我不會oc,這個我看到了,但還是不會用呢!
群主:
那你可以參考這個:?
let?url=NSURL(string:?videoUrl);?
let?urlData=NSData(contentsOfURL:?url!);
V先生:?
好的,太謝謝您了 !
15、這個錯誤的問題是出在哪裏了?我找資料後推測應該是“類型轉換失敗”,但是按找的資料寫還是無解。求大神指點!
參考這個修改一下Class?name:https://stackoverflow.com/questions/32048458/core-data-could-not-cast-value-of-type-mytype-mytype-2-to-mytype/38139307?
(10月更新後的《iOS從入門到精通Xcode10+Swift4.2》課程中,針對這部分變化,有做說明,可私信小課發給你。)
已根治了這個問題,原因如下:
默認使用Use?CoreData創建的DataModel映射文件的默認名稱為CoreData____.xcdatamodeld,刪除重新創建就行了,這應該是個swift的bug;默認名稱無法識別,必須要重新創建,使用正常的命名方式去命名
感謝這位老鐵分享解題思路。
16、這個更新cocoapods?怎麽會出錯呢?
群主:將數據源從https://gems.ruby-china.org?
改為https://gems.ruby-china.com?
就是把域名後綴從.org改為.com
???:
明白了?
17、在代碼層怎麽拿到對應的值啊?
appleMan:
如果是在當前類裏面過去到值,就定義為靜態變量吧
如果希望外界都能過去到值,就在pch文件中以宏定義的方式
Rocky:
那樣的話還能區分編譯的形式嗎?debug還是release 。
18、“踩坑記”分享, 希望其他小夥伴看了之後,可以避開掉進相同的“坑”,哈哈哈
appleMan?:
iOS12、XCode10踩坑記
https://www.jianshu.com/p/a28949276917?
各位炕友檢查各自的工程中是否引入了libstdc++.tbd動態庫,xcode10已經將這個庫廢棄了,將有libc++.tbd代替。
還有如果在打包時,遇到這樣的錯誤:Failed?to?verify?bitcode?in?AipBase.framework/AipBase:
error:?Cannot?extract?bundle?from?/var/folders/n2/2hc63w0d555cdbpqxwmpy84w0000gn/T/XcodeDistPipeline.ujv/Root/Payload/XXXX.app/Frameworks/XXXX.framework/XXXX?(i386)類似的紅色提示,貌似是由於xcode10導致的,解決方法在上面的鏈接中
感謝分享“踩坑記”,希望其他小夥伴可以因為你的分享,避免掉坑~
19、xcconfig?配置的變量怎麽引用使用啊!
群主:
這裏有在不同環境使用的方式:
https://www.jianshu.com/p/9b8bc8351223?
Rocky:
額?多謝
一般項目中怎麽配置正式服和測試服或者很低服的地址啊
本地服
群主:
一般創建一個單例對象,用於返回各種環境的服務器地址,或者其它常用的常量。
20、請教一個問題:let?path?=?Bundle.main.path(forResource:?"index",?ofType:?"html")
?這個可以得到當前文件夾下的index文件的路徑,如果index在另外一個Test文件夾下,怎麽得到路徑啊?
群主:
使用這個方法:
let?plistPath?=?Bundle.main.path(forResource:?"DemoPlist",?ofType:?"plist",?inDirectory:?"index")
不過你要先在這裏將文件夾加入到Bundle:
噢呦呦:
好的,我試試,非常感謝
能找到了,謝謝
21、競拍類?App?上架審核,需要資質嗎?
貸款類的App是需要許可證的。競拍類的不太清楚,不過金融類的App的審核是非常嚴格的,蘋果會嚴查資質,一般需要金融許可證,ICP電信服務增值證書,以及營業執照等。
?
22、大夥 幫我看看這個代碼是不是把其他格式的視頻轉成mp4,但是沒保存在相冊的。
73:
你保存到app的目錄下了
你回看調的是app目錄下的視頻文件,要保存到相冊,你還得將文件從app的目錄下保存到相冊裏,用PHPhotoLibrary。
群主:
首先你到沙箱目錄中檢查一下是不存在這個mp4文件。
??????:
但是相冊裏有啊。
73:
相冊裏有,那肯定是在其他地方把文件復制到相冊裏了。至少你截圖的代碼中,沒有保存到相冊的行為。
?????:
好的,我知道了,謝謝啊。
73?:
截圖的代碼就做了一件事,讀取一個文件,在本地目錄下將它以高畫質保存為fileName.mp4的視頻文件。
??????:
我能把mp4文件轉成data嗎?
是拍的時候就能得到這個mp4文件還是保存到相冊之後在根據路徑讀出來這個文件。
73:
不用保存到相冊,exporter就是把源視頻導出到newvideopath這個本地目錄的,只要你不去刪掉它,讀它(newvideopath)就是data
你的源視頻是來自於outputurl這個地址,let?exporter?=?AVAssetExportSession?那行
。
?????:
讀它(newvideopath)就是data怎麽讀啊,我是新手,還是自學的,太多不懂了,請大神多多指教。
73:
意思是newVideoPath就是獲取這個視頻文件的地址,至於怎麽讀取,得看你具體用來幹什麽了。例如你想上傳它,最好是問群主用什麽來上傳最適合新手。
群主:
推薦用lamofire就可以傳視頻 。
23、碰到一個問題。網上找到答案,但不知道該怎麽改。麻煩大家幫我看看怎麽回事。謝了!
Joseph:
http://suo.im/4Fi1d8《神兵利器》,第二章,第十八個項目。
群主
檢查一下項目中是否有名為selectedRectangle的圖片
Joseph:
哦哦,好的。謝了。
搞定了。:)
24、寫表單,你們通常都有哪些方法?純手寫,還是用第三方庫?第三方庫哪個好用點?
簡單的表單用手寫,復雜一點的可以使用第三方庫Eureka,《iOS開發中的神兵利器》課程中有講解到這個類庫。
網易雲課堂視頻課程鏈接:http://suo.im/4V53CF
25、覺得你們的互動教程,開發的挺好的。不知道有沒有從零開始到項目上架的完整教程,有的話,我想花點錢買來看一下。(這是求虐的節奏嘛)
群主:
目前我們的iOS系列課程三件套中,《Swift4實例教程》的最後一章,就是一個完整的項目教程,這是課程鏈接,你可以了解一下。
(雙十一期間,網易雲課堂平臺有活動哦~投資自己就是“該出手時就出手”,錯過這次,小課也不知道要等到什麽時候了!而且為了配合網易的活動,我們還推出“買課送課”活動,這個月買iOS系列三件套視頻課程,即可贈送同款價值50元的互動教程)
酷課堂iOS系列課程三件套包括:
1.《iOS從入門到精通》課程,涵蓋了大部分iOS開發的功能;
2.《Swift4》主要講解語言和一些實例教程;
3.《iOS開發中的神兵利器》課程則大規模講解CitHub中熱門的iOS開源項目。
另外《iOS移動開發從入門到精通》第二版最後七章,也有講解一個完整的、已經上架的項目的整個制作流程。
26、碰到個問題,在第二章的第11個技巧中出現的,麻煩大佬們幫忙看看,謝謝!
群主:
eekDayRow是自定義視圖,需要到GitHub中的Example文件夾中下載。
Joseph:
好的,謝了,Example中不報錯,但我的項目中還是報錯。
我把CustomCells.swift拷貝進去就好了,還有一個bug。
全搞定了。哈哈哈。
原來是還有個FloatLabelTextField.swift也要拷貝進去。
?
一個人的知識面有限,大家一起討論才能碰撞出更多的火花
27、我的編譯沒通過,一共是兩個問題,找不到好的解決方法,麻煩群主幫我看看,謝謝!
第二章有很大一部分是講Eureka的,最好不要被4.2影響到。
好像可以用carthage更新到4.3,我在嘗試。
Carthage?is?a?simple,?decentralized?dependency?manager?for?Cocoa.https://github.com/xmartlabs/Eureka?
強烈推薦carthage,不報錯了。
https://github.com/Carthage/Carthage?
(看來這位同學,已經自個找到解決方案了)
資源分享
1、《iOS移動開發從入門到精通》第二版,當當網購買鏈接http://product.dangdang.com/25535011.html
(也可在常用購書平臺搜索“iOS 李發展”即可找到,購買後添加小課,有專屬福利哦!)
2、讓小白上癮的手把手學習模式[互動教程合集]下載:
http://suo.im/4V00MR
3、iOS圖像顯示原理http://url.cn/5FHkDii
4、十分鐘接入iOS 12新特性——Siri Shortcutshttp://url.cn/5OXkcR8
5、蘋果10月30日發布會有什麽?看這就知道了http://suo.im/4MJDgR
6、iOS 系統中導航欄的轉場解決方案與最佳實踐https://toutiao.io/posts/fbpg9i
7、一個6年iOS程序員的工作感悟,送給還在迷茫的你http://url.cn/5uhBObq
8、APP無埋點技術調研http://url.cn/5npo3xS
9、iOS 驗證碼輸入一種實現思路http://url.cn/5YKeIzb
10、iOS性能優化——圖片加載和處理http://url.cn/5JkmgTa
11、iOS界面渲染流程分析http://url.cn/5y5Zxwf
12、適配iPhoneX全系詳解,更新Xcode10爬坑http://url.cn/5wMFxPl
13、淺談iOS頁面流暢技巧http://url.cn/591G3OS
14、[譯] 官方 Swift API 設計規範http://url.cn/53DesYD
15、iOS動畫詳解(學習動畫看這一篇就夠了)http://url.cn/5lzCJzj
// 本期互動話題 //
在學習swift的時候,你有遇到什麽困難?歡迎評論區留言/吐槽
咱們的課程裏,有微信的這種菜單示例嗎?---酷課堂iOS交流群問答整理(201810期)