这算通过审核了么?接下来还有没有什么坑,求大神指点!(201808期iOS交流群问答精华整理)

版权声明:本文为酷课堂原创文章,欢迎转载但请注明来源。 https://blog.csdn.net/fzhlee/article/details/82355479

 

以下内容由@客服妹子爬楼整理,希望小伙伴的这些提问,对你有帮助/启发,精选在此,喜欢请收藏,给答题的大佬们点赞!

感谢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开发

 

 

猜你喜欢

转载自blog.csdn.net/fzhlee/article/details/82355479