问下这个审核被拒怎么解决呢?——酷课堂iOS交流群问答整理(201806期)

酷课堂iOS交流群问答整理(201806期)

以下内容由@客服妹子爬楼整理,希望小伙伴的这些提问,对你有帮助/启发,感谢资源贡献者:Mi~、appleMan、赖着、蒋哥、Rocky、群主、诚绅、思、其乐无穷、Demonァ浅唱 、김위청、回忆满满、风、zhu王源,精选在此,喜欢请收藏,给答题的各位大佬点赞!

 

我们是一个什么样的组织:

酷课堂iOS交流群,聚集了一群热爱技术、有趣、有料,平均Q龄在10年以上的“老司机”,他们遍布在全国/球各地,有知名企业iOS工程师、高校大学生、自由职业者……如果你也是这样的人,欢迎加入我们,一起畅聊iOS技术及周边。

“很干”

“很佛系”

每晚11点后熄灯(禁言),只聊技术,几乎不闲聊。

IT从业者自学成功的不少,但从入门到放弃的人更多。一个人走的快,一群人走的远,希望你会是坚持到最后的那一波,希望我们可以一起相伴走的更远一些。

 

付费学员专享福利:

(额外福利,不承诺永久提供!)

1.为了更好的交流,我们开设了QQ群

2.已购买课程的同学,请添加小课微信号:coolketang001、QQ:3068527144

3.截图订单号,即可获取对应QQ群号,及免费练习源码。

(苹果商店的订单号,可在购买账号绑定的邮箱中找到)

                                                                                              

1

问题贡献者:登高望远

答题大佬:群主 回忆满满

请问按视频打的还是报警,是何原因?

 

didReceiveMemoryWarning方法是Xcode在新建ViewController时自动生成的,不需要手写,手写容易出错。请将didReceiveMemoryWarming修改为didReceiveMemoryWarning,后面的warning错打为warming了~

 

十分感谢解答

 

 

2

问题贡献者:김위청

答题大佬:群主

Kingfisher tableview cell

图片刚加载的时候 出现很多一样的图片,然后刷新一下tableview就没事,这样的得怎么处理?

我是用下面这个方法实现的:
imageView.kf_setImageWithURL(NSURL(string: "your_image_url")!, 
  placeholderImage: nil, 
  optionsInfo: nil, 
  progressBlock: { (receivedSize, totalSize) -> () in 
  println("Download Progress: \(receivedSize)/\(totalSize)") }, 
  completionHandler: { (image, error, imageURL) -> () in 
  println("Downloaded and set!") 
})
作者:smalldu

链接:

https://www.jianshu.com/p/fa2624ac1959 

來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。


试试强制刷新
imageView.kf.setImage(with: url, options: [.forceRefresh])


 

好的,谢谢,可以了,群主,这个强制刷新是从url里获取然后刷新吗?还是从cacheKey刷新?

强制刷新是从对应key的cache中刷新的。

 

3.

问题贡献者:Rocky

答题大佬:群主

为什么connection不能选择?

 

可能拖动到代码区时落点不对

嗯,调好了,谢谢 !

 

4.

问题贡献者:风

答题大佬:群主

一直报错,哪位大神帮忙分析下原因,问题背景:我只要在.m文件中添加如下代码,就会报错

TVBrandListModel是在.h中定义的

 

这种问题一般是导入的第三方类库不支持arm64,还有一种可能是还需要导入其它的依赖库。
有时用这两种方式也可以解决这个问题:
1、清空Xcode缓存文件(~/Library/Developer/Xcode/DerivedData/)
2、Other Linker Flags增加-ObjC或-lz

 

 

5.

问题贡献者:诚绅

答题大佬:群主

请各位大神,帮忙解决一个项目的技术问题,非常感谢!

Main.storyboard里面画的界面,用代码不能改变界面的尺寸,这是为什么?


颜色什么的是可以改变的
试试在viewDidLayoutSubviews或viewDidAppear中修改界面的尺寸,因为viewDidLoad和viewWillAppear都在viewDidLayoutSubviews

和viewDidAppear的后面。

果然可以,谢谢啦@群主 

 

6.

问题贡献者:김위청

答题大佬:群主

一般 iphone 全屏的图片宽度怎么设置呀?宽度和高度怎么设置最好?就是我想填满全屏,不知道怎么设置大小是最好的?

我现在使用的contentModelScaleAspectFill

 

主要设置UIImageView的contentModel属性,ScaleAspectFit或ScaleAspectFill,具体参考
http://www.cnblogs.com/PLA-Artillery/p/5821818.html 
通过UIScreen可以获得屏幕的大小

然后把图片缩小? 对吗?

 

通过UIScreen获取屏幕尺寸,然后将UIImageView设置为全屏大小,接着通过设置contentModel使图片充满图像视图。contentModel包含三种属性参考以下解释:
Scale To Fill那个图片显然一张212*80的图片要放到100*100的视图中,要做的就是宽(212)要缩小到100,高(80)要放大到100,有点感觉像把图片在水平方向挤压似的。


Aspect Fit 这个图片显示真应了fit这个单词,通过放缩将(212,80)图片放入(100,100)的View中这个不用说,问题是与上面的放缩不同在于,它的宽高都是使用同一比例,宽212*0.4717=100,与上面不同,高80*0.4717=37.74,所以图片很真实,尽管缩小了0.4717比率。


Aspect Fill这个就应了Fill单词了,它和Fit不同,要把小的(也就是高80)放大起到填充的感觉,也就是80*1.25=100那么我们的宽212,也要乘以1.25=265,最后得到一个(265,100)的图片,而我们的框框是(100,100),显然我们的视图显示图片余地有限,因此只能显示中间那一部分了。

 

 

7.

问题贡献者:김위청

答题大佬:群主

启动页怎么设置嘛?

 


和使用正常故事板一样,添加图片、文字,添加约束。只是无法添加动画效果而已。

那不用这个也可以吧?我现在想用launchimage 设置,但是这里我都设置好了 就是启动就不显示图片

 

把这个去掉

oK,可以了,另外在请教一下gif图片怎么加载 ?
UIImage(named: "no_img") 我的这个no_img 是gif的,但是不显示这么写的话。

 

gif动画使用UIImage是无法播放的,你可以使用UIWebView或者将gif的帧转换为图片序号,然后使用UIImageView播放。或者参考《神兵利器》中的

 

 

8.

问题贡献者:김위청

答题大佬:appleMan

问下这个审核被拒怎么解决呢?使用Apple Pay的应用程序必须提供隐私政策,否则将会被拒绝
有知道的同学吗?


这里有个隐私政策模板可以参考:
http://www.cnblogs.com/weiboyuan/p/4028690.html 
Apple Pay 安全性与隐私政策概览
https://support.apple.com/zh-cn/HT203027 

是要给苹果提供一个隐私政策的链接吗?
这个是什么时候开始的?


很早了吧,主要针对 HealthKit,apple key之类的 需要采集用户数据的app


上个月还正常上线呢,这次居然不行,难道审核更严了?


应该是审核人员不同造成的


有可能,这个隐私策略是要配置在app还是配置在iTunes,怎么配置呢?

在一个有效的url上发布隐私声明,在Apple connect应用详情页--隐私声明处加上这个链接。
App内也需要找个地方,例如设置页面、关于页面放置隐私策略。

这个地方吗?

恩,这个之前放置的是我们公司的官网,意思是要在我们的官网上面附加一个隐私声明吗?

在官网上弄个新页面,放用户的隐私政策声明,然后把页面的链接放在这里


 

 

9.

问题贡献者:김위청

答题大佬:appleMan

我的这个版本,我上传了1.71.8的,为什么这里不显示呀?

如果没有显示,可能没有上传或者上传失败,可以重复上传一次。
 


navigationItem.title. 字体加粗 怎么设置


参考

https://www.jianshu.com/p/a36d927d2878 


可以了,感谢群主大大!

 

 

10.

问题贡献者:无骛

答题大佬:appleMan

请问,表格的编辑模式怎么同时进行添加和删除?
你需要手动编写代码实现一下,比如实现一个自定义的单元格,左面有一个按钮,点击按钮时添加或删除单元格,或者使用第三方

MGSwipeTableCell,给左滑右滑按钮设置插入和删除的功能,或其它 自定义的功能。
 

 

11

问题贡献者:回忆满满

答题大佬:appleMan

哪位高手在啊?关于证书的问题,我今天续费了,有效期还是20187月份,我需要怎么弄?
重新创建一份证书删除吗?

是的已安装的app不会因为证书问题而无法使用。
我的都没上商店,每年都过期,哈哈哈~

 

12

问题贡献者:王源

答题大佬:appleMan

群主,有没有iOS开发中如何调用接口的案例,使用的是HTTPS传输协议

 

有调用http连接的示例,查看iOS开发从入门到精通的《网络与多线程》,或者神兵利器的《Alamofire》那一章,《Swift入门实例教程》的最后一章也有。
https接口可以参考这个:https://www.coolketang.com/iOS/sign_up.json 

Alarmofire的示例代码:
func responseJsonHandler()
    {
        Alamofire.request("https://www.coolketang.com/iOS/sign_up.json 

").responseJSON
        { response in
            debugPrint(response)
            
            if let json = response.result.value
            {
                print("JSON: \(json)")
            }
        }
    }



13.

问题贡献者:zhu

答题大佬:appleMan

swift 是不是不能与c++混编 只能用在.m里面混编 然后在.swift里面调.m里的方法呀?
是的

 

14

问题贡献者:王源

答题大佬:appleMan

请问,如何在地图上如何搞一个三级筛选器,有数据接口过来的那种

 

使用多个UITableView或UIPickerView制作级联菜单,然后放在地图视图的上方。当一个选项被点击时,刷新下一个级别选项的内容。

有例子可以参考一下么

 

https://www.jianshu.com/p/c806f8acea59 
http://www.cocoachina.com/ios/20150626/12264.html

 

15

问题贡献者:王源

答题大佬:appleMan

有大佬知道这是什么情况?

 

使用的是哪个第三方类库 ?


 

类似的问题参考:
https://ai.baidu.com/forum/topic/show/497335 
https://stackoverflow.com/questions/47802071/xcode-9-ios-11-boringssl-ssl-error-zero-return 

 

16

问题贡献者:风

答题大佬:群主

自定义蓝色视图(Custom.xib,以灰色view为参照,设置自定义蓝色viewframeframe总对应不上,求大神指点一二
 

实现细节如下:
 

 

如果使用约束的话,你是使用代码进行约束的,还是在xib中添加约束的?如果没有使用约束,而是使用代码计算frame的话,直接设置蓝色view的frame和深灰色的frame相同即可。

 

 

17

问题贡献者:网易4

答题大佬:群主

我这个oc文件无法倒录。都安装了,奇怪的是上面的不加 "" 这个符号可以。加符号的话不行@群主,可以帮我看下吗?

这么写就是下面这个出错
直接导入NIMKit.h试试

@群主。这样都不行了

 

你下载这个demo,看demo是怎么导入的
好的,我知道了,谢谢!

 

 

18

问题贡献者:zhu

答题大佬:群主

@群主请问一下 服务器返回的视频链接没有.mp4 用浏览器下载下来是.dms的请问 怎么当成视频播放呢?

确认是dms格式吗?swift可以播放mp4或者流内容,dms的不清楚,需要和服务器那边联系吧,约定好视频的格式。


嗯,好的文件下载下来是这种
 

 

 

19.

问题贡献者:zhu

答题大佬:群主
求高手指点,主界面tabbar有有四个tabItem,即对应四个页面,我点击其中一个tabItem对应的页面中的UIbutton跳转到其他页面
使用的以下语句
self.present(SixteenthViewController(), animated: true, completion: nil)
可是当我再跳转回到主界面时,tabbar自己消失了
用了下面的语句也没有用
        ViewController().tabBarController?.hidesBottomBarWhenPushed = false

 


将ViewController.swift中的self.present(FirstSubViewController(), animated: true, completion: nil)修改为:

self.dismiss(animated: true, completion: nil)即可。
原因是原来的代码是新建一个新的视图控制器,并以模态的方式打开新的视图控制器,并没有返回tab bar controller。所以tab bar 并没有消失,只是没有返回初始视图控制器。使用dismiss方法可以返回初始视图控制器。


好的,谢谢群主



20.

问题贡献者:网易4

答题大佬:群主

@群主 im即时通讯 哪个第三方好?

即时通讯第三方有很多:
https://leancloud.cn/docs/chatkit-ios.html 
https://cloud.tencent.com/product/im 
云通信IM

https://cloud.tencent.com/product/im 



 

21

问题贡献者:王源答题大佬:群主
求助,像是这种UI界面该如何实现,就是可以在顶部还可以进行左右滑动的

上面的最新、排行榜使用UIButton实现,并放置在UIScrollView中。
下面的滚动广告使用UIScrollView实现,并设置pageEnabled属性为true。

 

22.

问题贡献者:网易4

答题大佬:群主

视频加载速度 特别慢 有什么好的办法吗?

 

1、提升视频所在服务器的带宽
2、降低视频的分辨率,压缩视频的体积
3、将视频的https链接修改为IP链接,避免域名解析的时间
4、将视频文件放在七牛等第三方平台统一管理

 

降低视频的分辨率 有参考吗?我的是现在保存在自己的服务器上,有没有代码压缩的方法?


参考

https://zh.wikihow.com/%E5%8E%8B%E7%BC%A9%E8%A7%86%E9%A2%91 
也可以在线压缩:

https://www.shipinyasuo.com/ 

没有压缩视频的代码,自己写的话可以参考http://www.111cn.net/sj/iOS/111940.htm 

 

我明白了 ,很全面,谢谢群主。


23.

问题贡献者:网易4

答题大佬:群主

群主,我们教程的最后一节课,32.项目的打包上传和提交审核,在设置应用程序的开发证书时,我弹出的证书列表是Automatic,点击other 后是空的,与您教程中的不一样,如何解决?谢谢!

 

教程中是这样的,列出了所有的开发证书和发布证书

 

需要登录http://developer.apple.com/ 

然后创建开发证书和发布证书,具体步骤请参考我的新书中的这些章节:

 

谢谢群主!我试试。您新书书名?我想买

多谢支持,第一版已经没货了,第二版书稿已经发给清华大学出版社,应该还需要两个月才能上市. 书名是:iOS移动开发从入门到精通第二版

 

24.

问题贡献者:网易4

答题大佬:群主 Demonァ浅唱 

tabbar 添加提示数字 然后 怎么实施改变呀?


继续设置badgeValue的值即可。
let tabBar = tabViewController.tabBar
let item = tabBar.items![0]
item.badgeValue = "5"

@群主,这个想随时监听,就是服务器有提醒数据的时候,实施改变的话,得在哪里设置呀?

有几种方式,一种是使用Push,苹果的或第三方的都可以。还可以使用基类,在该基类的viewWillAppear中新建一个线程查询数据是否有变化,然后tab view controller中的子控制器都继承这个基类。

我的现在是baseviewcontroller是所有控制机都继承的,我是不是在,这个控制器的viewvillappear中,创建一个线程?

是的当收到数据变化提醒时,判断当前的tab bar item不为空的情况下返回主线程修改badgeValue

@群主 我大概明白了 谢谢群主 

 

这是什么错误呀 是我哪个地方写错了嘛?
可选绑定,就把感叹号改成疑问号

可以了,谢谢两位大神助力@群主@ Demonァ浅唱 

 

 

一些实用小技巧分享:

(当然也包括小伙伴们刚踩过的坑; )

1.分享人:其乐无穷 

有没有已经从事 iOS开发在公司里的大神,能讲进公司的面试是什么样的,求教?

面试了10名开发者后,总结了50道iOS面试题[https://www.jianshu.com/p/79c9a8b9b313 


2.分享人:appleMan

刚刚踩坑:iOS12 beta 版闪退(使用友盟分享SDK6.8.0和统计版本5.4.0时必现的闪退)
解决问题:请更新最新包

 

3.分享人:TachibanaHotaru
Swift 5 will be released in early 2019 https://github.com/apple/swift-evolution/commit/de7727f7dcf7bbfdea6763a87f4c8c534f27406e 


 

4.上传App Store被拒绝(用prefs:root,使App跳转至设置界面)。以前上传都没影响,这次突然不行了,咨询各位大神有替代方案没

 

这里有解决方案

https://community.apicloud.com/bbs/thread-89207-1-1.html 
 

 

5.现在是主要便用oc还是swift开发啊?以及java开发初学iOS应该怎么入门和进阶?

swift也学了,语法都还好,但是看一些案例大多数都是oc,所以现在又在学oc了。

 

Swift开发是趋势,由于在Swift之前已经有大量的iOS开发者,所以目前基本上还是OC和Swift并存的局面。

java开发入门Swift会比较快些,先学习一下Swift语法和iOS日常开发技能,然后再做些实例,通过实战才能真正提高iOS开发技能。


6.咱们的swift教程和Xcode9教程做的很好。在有Objective-C开发经验的情况下,两周时间就全部学完了。很棒


 

有Objective-C开发经验,的确上手会快很多,但是小白也可以一点点精进,毕竟谁也不是生来就掌握各种技能的

   

联系我们:

网站:coolketang.com

微信公众号:酷课堂

微信:coolketang001、

邮箱:coolketang@163.com

QQ:3068527144

 

来酷课堂,手把手,带你学iOS开发

 

©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:上身试试 返回首页