這算通過稽核了麼?接下來還有沒有什麼坑,求大神指點!(201808期iOS交流群問答精華整理)
以下內容由@客服妹子爬樓整理,希望小夥伴的這些提問,對你有幫助/啟發,精選在此,喜歡請收藏,給答題的大佬們點贊!
感謝appleMan、賴著、回憶滿滿、蔣哥傳媒、歲月、誠紳、風、炒菜要放辣椒、貓有九條命、默、檸檬、Rocky,等大神們的分享和解答,特送出價值50元的暢銷課程一套(蘋果應用商店iOS系列三件套,任選其一),請隨時私信客服妹子領取。今後每月我們都將會有送書、送課、送禮物的福利,敬請期待!
酷課堂iOS交流群,聚集了一群熱愛技術、有趣、有料,平均Q齡在10年以上的“老司機”,他們遍佈在全國/球各地,有知名企業iOS工程師、高校大學生、自由職業者……如果你也是這樣的人,歡迎通過文末的聯絡方式,加入我們一起暢聊iOS技術及周邊。
1、請問,api連結的時候用ip連結的話可以,但是用網址連結的話,無法連結是什麼問題呀?是不是沒轉過來啊?(網址可以正常訪問)
答題大佬:群主、貓有九條命
問題貢獻者:貓有九條命
建議下載switch host試試,或者自己另外配一下。
2、有個問題請教,我用程式碼生成數量不定的同一類views新增到superView 中 想用程式碼控制他們之間間距 而且能自動換行 ,請問該怎麼寫呢?
答題大佬:群主
問題貢獻者: xiangge
群主:
通過迴圈語句,當一行view的總寬度接近遮蔽寬度時,跳轉到下一行排列,不過需要知道view的寬度,並且高度最好是一樣的。
xiangge:
目前就是這麼寫的,但是感覺有點不清楚。
群主:
每個view寬度和高度應該是知道的,換下一行時,加上上一行最高的那個view的高度比較簡單一些。
Xiangge:
在網上搜到,可以用程式碼生成約束constraint新增到檢視上。問題是我知道superview是父檢視,請問該如何表示同一級別的兄弟檢視呢?
群主:
用superview.subviews獲得兄弟檢視,每個subview擁有一個不同的tag。
Xiangge:
好的,多謝。
3、請問這個問題有什麼號的解決方法嗎?
Pushing the same view controller instance more than once is not supported
答題大佬:群主、appleMan
問題貢獻者:appleMan
群主試試初始化一個新的,或者複製一個新的controller的例項,然後再push。
appleMan:
好的,一會兒試試。
試了,還是有點問題,怎麼破?
群主:
參考
https://www.crifan.com/swift_showviewcontroller_error_pushing_the_same_view_controller_instance_more_that_once_is_not_supported/
https://www.bbsmax.com/A/qVdeYVBrdP/
appleMan:
恩恩,我看了下,我的問題不是出在vc,而是出在導航了
因為我的vc層外面包了一層NSObject的單利模式,將外層vc的導航賦值到單利層裡面的vc作為跳轉,當外層的導航指標變的時候,我單利裡面的導航指標指向的是第一次賦值的那個指標,所以就會出現這樣的問題
解決方法是,在單利裡面要拿到最新的導航指標即可。
(哎呦,這位同學通過老師的提示,已經自己解答了問題,棒棒噠~)
4.用retain宣告nssString,但是實際上 沒有對selfString的記憶體進行改變,怎麼破?
答題大佬:炒菜要放辣椒
問題貢獻者:貓有九條命
貓有九條命:
我看看記憶體地址,網上是這麼說的NSString用copy而不用retain,是因為在用retain時候會改變原來的記憶體內容。
可是實測用retain和copy是一樣的。用retain不管是直接賦值還是用copy都是得到一個新的記憶體。有人知道為什麼不?
炒菜要放辣椒:
建議你試試,列印地址,不要列印結果
貓有九條命:
貓有九條命:
%p 是地址吧
炒菜要放辣椒:
地址是不是不一樣了 ?
貓有九條命:
按照網上說的用retain就應該是一樣的啊
retain 持有物件
炒菜要放辣椒:
Nsstring,copy可以理解成長亮賦值常量
你不能把string當成array
貓有九條命:
那NSString用retain和copy區別在哪?
炒菜要放辣椒:
百度一下,然後你再看看
bl值或者intger值,你用什麼修身? “Assign” copy“retain”,百度區分一下,在調成手動記憶體管理,看一下“weak”和“retain”
自動裡面的“strong”
貓有九條命:
好的,謝了老鐵!
炒菜要放辣椒:
百度把這些看看,然後在回顧一下你的string是直接賦值的,不是用的alloc或者new出來的,把淺拷貝深拷貝在看一下,基本就清楚了。
5、求,下載的原始碼直接編譯出錯,怎麼處理?
答題大佬:群主
問題貢獻者:溫和從容
群主:
這些是警告不是錯誤哦~
不影響程式的執行,不過多謝反饋下個版本會盡量將警告給清除掉。
溫和從容:
好的,謝謝!
6、老鐵們,這個問題有沒有人遇到過?
To resolve this issue, please revise your screenshots to ensure that they accurately reflect the app in use on the supported devices. For iPhone, you need a set of 5.5-inch display screenshots and for iPad, you need a set for 12.9-inch display. This set will be scaled appropriately down to other device sizes when viewed on the App Store in each territory.
Note that 5.8-inch display assets for iPhone X are optional and don't scale down to other devices sizes. Screenshots that include iPhone X layout features like rounded corners or sensor housing should only be used for the 5.8-inch display.
答題大佬:群主
問題貢獻者:貓有九條命
To resolve this issue, please revise your screenshots to ensure that they accurately reflect the app in use on the supported devices. For iPhone, you need a set of 5.5-inch display screenshots and for iPad, you need a set for 12.9-inch display. This set will be scaled appropriately down to other device sizes when viewed on the App Store in each territory
群主:
你設定iPad圖片的解析度為2048*2732,其它iPad解析度設定為跟隨這個尺寸即可了。為iPhone X準備的截圖是可選的。
貓有九條命:
iphoneX的截圖不放行不行,我們的應用不支援ipad,但是稽核時候第一次給我打回來一個ipad的白屏。我把這裡設定成universal就好了,結果現在又要ipad的圖。(加入組織,手把手帶你走出各種莫名其妙的“坑”)
群主:
iphoneX的截圖可以不放,但是不支援iPad,app也需要在iPad上執行,這樣app是以960*640的解析度執行在iPad上的,所以也是需要在iPad上進行測試的。
如果設定成universal則需要iPad的圖。
ipad截圖尺寸有三種,我一般使用2048*2732,其它按比例自動縮放。
你需要檢查下app程式,應該是app的問題。
貓有九條命:
理解了,app上架appstore被拒多次會不會有影響。
群主:
不會的
貓有九條命:
好的,謝謝!(祝賀這位小夥伴成功上架了,自己的第一款APP)
7、這三個我push 到另外一個控制器的時候, 視訊一直播放 ,
我怎麼 deinit掉這些控制?
答題大佬:群主
問題貢獻者:김위청
群主:
在push新的控制器之後,前面的控制器中的資源仍在記憶體中,需要push前面呼叫player的pause和setRate方法。
參考https://www.zhihu.com/question/35683280
김위청:
好的,我發下我寫的,群主幫我看看,有沒有問題。
這是播放的:
這是跳轉:
김위청:
我跳轉完這個頁面後,聲音一直存在。
群主:
我這邊也有AVPlayer的例項,晚點測試下是否也有這種問題。
김위청:
@群主,解決了,多謝!
8、這個誰知道怎麼解決,我昨天新做的系統忘了咋弄了!
答題大佬:appleMan
問題貢獻者:回憶滿滿
appleMan:
證書重新匯入下,試試
回憶滿滿:
我從新做了下,程式報錯了,等我弄個空專案打包試試。
重做系統太麻煩了,一下出了好多問題。
Windows雙系統,把兩個系統都弄蹦了,開機就自動關機。
重新做證書,Xcode重啟下就好了。
9、請問,我在使用autolayout佈局的時候 左右兩側多出20畫素的margin是哪來的?
答題大佬;群主
問題貢獻者:難以忘懷
它的父view的layoutmargin和directionmargin都是0,並且preservessuperviewlayoutmargins也是false
群主 :
是用storyboard中的約束實現autolayout佈局的嗎
難以忘懷 :
有大佬知道為什麼嗎,不是,程式碼手寫
子view的lead tail top bottom都等於父view的layoutmarginguide的對應屬性
10、@群主 ,請教一下swift如何匯入第三方下載的字型字型
答疑大佬:群主
問題貢獻者:新手
群主:
參考https://blog.csdn.net/lwjok2007/article/details/48180049
info.plist需要新增字型名稱
好的,謝謝群主,問題已解決。
11、請問第三方地圖,支援全球的地圖有哪些?哪個比較好?
建議使用高德地圖
參考https://lbs.amap.com/faq/top/hot-questions/118
12、這算通過稽核了麼?接下來還有沒有什麼坑,求大神指點。
答題大佬:群主
問題貢獻者:貓有九條命
群主:
這個頁面的下方還有釋出時間的設定,有自定義釋出時間、立即釋出等幾個選項,你檢視一下。
貓有九條命:
好的謝謝,這種情況下一般不會被打回了吧。
群主:
已經稽核通過了,一般情況下不會打回的。
貓有九條命:
好的,謝謝!
13、@群主大大, 我上次這個找到原因了!
答題大佬:群主
提問:김위청
김위청:
我用這兩個都選擇的話 網路獲取失敗
群主:
直選上面的把下面的刪除,網路獲取就成功。
김위청:
如果我想兩個都能用,有辦法嗎?
群主:
你弄個https證書試試看。
김위청:
https用http不行嗎?
群主:
建議還是使用https,騰訊雲和七牛都有免費的證書。
김위청:
明白了,我再試試。
14、哪位大神指導下,蘋果自帶地圖怎麼隱藏街道??
答題大佬:appleMan
問題貢獻者:風
是隱藏街道還是隱藏街道的名稱?
百度地圖和高德地圖有相關API隱藏街道內容,但是蘋果地圖需要設定指定的地圖型別,才能隱藏街道
map.mapType = MKMapType.satellite
需要隱藏街道名稱,甲方要求定位不需要太精確,不能洩漏使用者隱私。
蘋果地圖不也是高德地圖麼?
蘋果地圖的資料來自高德,但是並沒有提供相關介面。高德的相關介面是這樣的:
15、請教個問題呀 就是app上有一資料列表,客戶端伺服器均無任何快取,該列表在wifi下能重新整理到新資料,在4G下重新整理不到(4G環境下其它app都能正常開啟),是啥原因啊
答題大佬:群主
問題貢獻者:葉舟
群主:
在4g下讀取baidu.com 的原始碼,看下能不能獲取到,
如果獲取到呢,4G環境下其它app都能正常開啟
let url = URL(string: "http://www.baidu.com/
")
let request = URLRequest.init(url: url!, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 30)
NSURLConnection.sendAsynchronousRequest(request, queue: OperationQueue.main, completionHandler: {
(response, data, error) -> Void in
if (error != nil){
print("Network error.")
}
else
{
let str = NSString(data: data!, encoding: 1)
print(str ?? "")
}
})
或者使用Reachability.swift檢測下4g下的網路訪問狀態。
4g下網路訪問狀態應該正常,因為別的app在4G下都正常 。
16、請教一下,這是什麼錯誤?多次free?
答題大佬:群主
問題貢獻者:小明同學
小明同學:
dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib
Referenced from: /var/containers/Bundle/Application/4B039D93-8F0E-42E3-A528-1F733715B704/llb.app/llb
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/4B039D93-8F0E-42E3-A528-1F733715B704/llb.app/Frameworks/libswiftAVFoundation.dylib: code signature invalid for '/private/var/containers/Bundle/Application/4B039D93-8F0E-42E3-A528-1F733715B704/llb.app/Frameworks/libswiftAVFoundation.dylib'
/private/var/containers/Bundle/Application/4B039D93-8F0E-42E3-A528-1F733715B704/llb.app/Frameworks/libswiftAVFoundation.dylib: code signature invalid for '/private/var/containers/Bundle/Application/4B039D93-8F0E-42E3-A528-1F733715B704/llb.app/Frameworks/libswiftAVFoundation.dylib'
/private/var/containers/Bundle/Application/4B039D93-8F0E-42E3-A528-1F733715B704/llb.app/Frameworks/libswiftAVFoundation.dylib: code signature invalid for '/private/var/containers/Bundle/Application/4B039D93-8F0E-42E3-A528-1F733715B704/llb.app/Frameworks/libswiftAVFoundation.dylib'
群主:
這是日誌,好像和多次free沒關係。
1、換成https連結;
2、更換訪問網路介面的方式,iOS中有多種方式訪問伺服器介面:蘋果自身的API,Alamofire等第三方的;
3、可以參考這裡的一種方案:http://www.cocoachina.com/bbs/read.php?tid=13398
另外,你那邊方便發下程式碼截圖嗎,也許能找出原因來。
小明同學:
可是程式碼編譯成功
我不知道哪裡出問題了
而且是在原來的電腦上好好執行的
這是換了電腦除錯,
程式碼幾萬行,不好發截圖
群主:
哦這樣啊,有可能是證書的問題造成的,
新的電腦可能沒有相關證書,參考這個http://www.cnblogs.com/huahua0809/p/5297058.html
小明同學:
好的,謝謝群主,我想應該就是這樣子,沒錯了。
17、swift怎麼判斷兩個Element是同一個?
答題大佬:群主
問題貢獻者:平湖秋柯
群主:
1、設定tag,根據tag判斷是否想要的那個介面元素。
2、字串判斷,直接使用==
3、型別判斷isKindOfClass
平湖秋柯:
我是想給Array擴充套件一個方法,這個方法需要判斷陣列內的元素。是否是重複的,元素型別不定,目前能拿到的元素就是Element型別的。但是找不到這個Element的判斷。contains(where: <#T##(Sequence.Element) throws -> Bool#>)函式的引數Sequence.Element和外界傳過來的變數element< Sequence.Element > 怎麼進行比較,這個沒有實現 == 函式
群主:
參考http://www.swiftmi.com/topic/156.html
平湖秋柯:
好的,謝謝群主大大,根據參考,已經實現功能要求 。
18、請問,哪位大神有自定義大頭針的地圖demo麼?
請參考課程《iOS開發從入門到精通》
第4章第17節“在地圖檢視上顯示提示框”裡有詳細介紹。
19、我電腦感染了一種奇怪的病毒,它點中了我的笑穴!
(你是否也有過同樣的奇異經歷呢?)
資源分享者:appleMa
http://www.cocoachina.com/programmer/20180827/24705.html
最近ios12測試本更新有點頻繁,這都11個測試版了,
測試版本的數量是有史以來最多的一次,
是嘞,不過我還是當了小白鼠。
20、哪位老鐵有遇到過這個問題,怎麼解決的?
Pushing the same view controller instance more than once is not supported
答題大佬:appleMa
問題貢獻者:李雷
appleMa:
有可能是快速點選造成這個問題的,這裡的解決方案比較齊全,
參考https://stackoverflow.com/questions/7083124/pushing-the-same-view-controller-instance-more-than-once-is-not-supported-exce
李雷:
我試著把push的動畫設為NO試下,改成NO後貌似沒發現問題,我再跟蹤下。
21、求,swift怎麼使用第三方svprogress呢?
答題大佬:群主
問題貢獻者:風
https://github.com/SVProgressHUD/SVProgressHUD
使用橋接的方式
好的,多謝!
22.請問,蘋果原聲分享時,同樣的程式碼,為什麼在另一專案中卻不能分享?
答題大佬:appleMa
問題貢獻者:風
群主:
這裡WeChat必須提供URL分享內容,否則會報錯“抱歉,暫時不支援此型別內容的分享”。
參考http://yehuanwen.github.io/2017/01/10/UIActivityViewController-from-start-to-end/
另外建議不要使用相同的分享appID,因為分享appID往往繫結唯一bundleID。
23、Assets.xcassets裡的圖片可以分享,但是專案或程式碼裡的image不行,請問是什麼原因?
答題大佬:群主
問題貢獻者:風
群主:
專案中的圖片也是可以,甚至網上的圖片也是可以的,你看下是不是專案中的圖片處於某個子目錄下。
風:
在根目錄下的圖片也試了,不行
暫不知道何時處理方式,還望指點一二
群主:
圖片大小是不是太大了,改為32k以內試試。
風:
專案中怎麼改大小呢,是通過圖形上下文麼?
解決了,方式如下:
(感謝分享解題過程,贈人玫瑰,手留餘香!)
24、群主大大,分享在iPad上報錯,是否和控制元件有關?
可以參考這個:
https://stackoverflow.com/questions/33942902/uiactivityviewcontroller-crashing-on-ipad-with-sourceview-or-barbuttonitem
(一點小提示:本文中部分問答涉及到具體的專案,這裡不做延伸討論,如果感興趣,歡迎加入我們一起暢聊iOS技術及相關。)
一些實用小技巧分享:
1. 蘋果秋季釋出會時間正式公佈或將釋出三款新品iPhone
2.iOS 12正式版將於9月18日開始推送,能讓老款iPhone延長使用壽命http://suo.im/57AVvP
3. 學習GCD看我就夠了
http://url.cn/5rwpffS
4. iOS圖形處理概論
5. UIViewController的瘦身計劃(iOS架構思想篇)
6. 對 iOS app 進行安全加固
7. 金額跳動動畫效果
8. 從 OC 到 Swift 的快速入門與專業實踐
9. iOS - IconFont的使用
10. iOS 面試題·專案中用過 Runtime 嗎?
11. 蘋果中國應用商店大規模下架博彩App 稱絕不姑息
https://3g.163.com/tech/article/DPLJLQ7400097U7T.html#adaptation=pc
12. UIWebView與UITableView的巢狀方案
13. iOS 獲取 AppStore 上 APP 版本號比較提示更新
14. iOS:一用就上癮的CategoryView
15. 程式設計師安身立命的138條忠告
金九銀十,求職季,分享一波面試題,預祝大家都能如願!
1.iOS開發筆試題600題:(1000題都有參考答案)
連結: https://pan.baidu.com/s/1pM2O1rP
密碼: s79r
2.iOS開發面試題400題:
連結: https://pan.baidu.com/s/1i6DQbGx
密碼: 8jnm
3.100家公司近年面試題整理,打造最受企業歡迎的iOS開發者https://www.jianshu.com/p/405a273b960e
付費學員專享福利:
(額外福利,不承諾永久提供!)
1.為了更好的交流,我們開設了QQ群
2.已購買課程的同學,請新增小課微訊號:coolketang001、QQ:3068527144
3.截圖訂單號,即可獲取對應QQ群號,及免費練習原始碼。
(蘋果商店的訂單號,可在購買賬號繫結的郵箱中找到)
聯絡我們:
網站:coolketang.com
微信公眾號:酷課堂
微信:coolketang001
QQ:3068527144
來酷課堂,手把手,帶你學iOS開發