1. 程式人生 > >這算通過稽核了麼?接下來還有沒有什麼坑,求大神指點!(201808期iOS交流群問答精華整理)

這算通過稽核了麼?接下來還有沒有什麼坑,求大神指點!(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

http://suo.im/4p9CIT

2.iOS 12正式版將於9月18日開始推送,能讓老款iPhone延長使用壽命http://suo.im/57AVvP

3. 學習GCD看我就夠了

http://url.cn/5rwpffS

 

4. iOS圖形處理概論

http://url.cn/5A3oDW4

 

5. UIViewController的瘦身計劃(iOS架構思想篇)

http://url.cn/5JrG3PJ

 

6. 對 iOS app 進行安全加固

http://url.cn/5z4LXSo

 

7. 金額跳動動畫效果

http://url.cn/5EQWPiC

 

8. 從 OC 到 Swift 的快速入門與專業實踐

http://url.cn/56qSg7U

9. iOS - IconFont的使用

http://url.cn/5SC0mIK

 

10. iOS 面試題·專案中用過 Runtime 嗎?

http://url.cn/5jBqQuw

 

11. 蘋果中國應用商店大規模下架博彩App 稱絕不姑息

https://3g.163.com/tech/article/DPLJLQ7400097U7T.html#adaptation=pc

 

12. UIWebView與UITableView的巢狀方案

http://url.cn/5PWwKa3

 

13. iOS 獲取 AppStore 上 APP 版本號比較提示更新

https://url.cn/54Ymvsk

 

14. iOS:一用就上癮的CategoryView

https://url.cn/5z1BLhQ

 

15. 程式設計師安身立命的138條忠告

https://url.cn/5wfNNTP

 

 

 

金九銀十,求職季,分享一波面試題,預祝大家都能如願!

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.已購買課程的同學,請新增小課微訊號:coolketang001QQ3068527144

3.截圖訂單號,即可獲取對應QQ群號,及免費練習原始碼。

(蘋果商店的訂單號,可在購買賬號繫結的郵箱中找到)

 

聯絡我們:

網站:coolketang.com

微信公眾號:酷課堂

微信:coolketang001

郵箱:[email protected]

QQ:3068527144

 

來酷課堂,手把手,帶你學iOS開發