酷课堂iOS交流群,聚集了一群热爱技术、有趣、有料,平均Q龄在10年以上的“老司机”,他们遍布在全国

新书即将上市:

这两天收到出版社的样书,预计这两周将陆续开始上架,感兴趣的小伙伴,到时可在天猫、当当、京东搜索“李发展”即可找到。

                           

本书内容简介和适合人群:

本书包含Swift 4.0语言、Cocoa Touch、视图控制器、控件、表格、网络、地图、音频、视频、动画、触摸、手势、故事板、CoreData、性能测试、机器学习、增强现实、加密解密等众多功能模块。这些内容是iOS开发必知必会的内容,需要读者重点掌握。

读者对象:通过对本书的学习,读者可以基本建立起iOS 11技术的思想框架,并且对iOS 11开发的过程有一个全面的了解。因此本书适合iOS开发初学者、iOS程序员、iPhone开发人员、iPad开发人员的学习。

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

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

“很干”

“很佛系”

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

扫描二维码关注公众号,回复: 4151024 查看本文章

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

加入组织之前是这样的:

这是为啥啊 ???

被卡住的感觉真不太好!!!

这个swift项目外包写的,我来维护,真心醉了啊……

有毒

Clean了,但是没啥用?

我把缓存文件删了,又pod install。结果还是一样的。

就是这个东东,我网上查了,弄了两遍了,还是不行。现在还在一遍遍试,一点头绪都没有。

碰到个问题,网上找到解决方案,但是不会用,谁能帮我看看啊,在线等,急!!!

(此刻宝宝心里的苦,你们懂吗?)

加入组织之后是这样的:

好了

解决了

厉害了@群主,效果实现了。

哦,我明白了。

搞定,谢谢群主。

原来是这样,多谢各位老铁了!

我找到了解决方法,但是没有看懂。能一起看一下吗?@群主

(就是这样“手把手”带着学,帮助你快速入门)

本期群问答精华整理如下:

关键词:

抖音界面  国庆撸出个微信 学英语  iOS12

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

感谢appman、赖着、风、回忆满满、神奇的海螺、김위청、MissLIBRA、King、김위청、强迫依存 、zhu、Warrior 、Jack、Joseph等大神们的分享和解答,特送出价值68元的新版【互动课程全集】30天体验名额一份.

这套课程集合:iOS移动开发、PS平面设计、Excel办公软件等7门课程。

我们希望用这样“手把手”带着学的方式,让更多人可以快速入门新领域。

请随时私信客服妹子领取。今后每月我们都将会有送书、送课、送礼物等等福利,敬请期待~

1、请问MapView自定义大头针,可以加载gif图片么?
答题大佬:群主、appman

问题贡献者:风

可以的,你在viewForAnnotation代理方法中,给annotationView添加子视图,在子视图中播放gif图片。

好的,我先试试,不行的话我再打扰你
厉害了@群主,效果实现了。

还有个问题想请教你,我第一次进入的时候不会播放,切换到其它TabBarItem后再切换回来,又可以播放了,不知啥原因??? @群主

这个项目使用的OC 

这个是swift

建议可以打断点跟踪下数据。

2、给新来的同学分享一波干货~

(英语没过6级的这位同学,放学不要走)

苹果官方设计规范:

https://developer.apple.com/ios/human-interface-guidelines/ 

https://github.com/geeeeeeeeek/git-recipes 

不错,就是看的有点费劲。

考验英文的时刻到了。

英文没6级,看着确实有点费劲。

3、在不考虑苹果审核的情况下,swift可以实现来去电通话录音吗?
答题大佬:群主

问题贡献者:神奇的海螺

iOS由于系统本身的限制,出于不收集用户数据,起到保护隐私的安全考虑,所以不提供,也无法实现在通话期间直接的支持录音。

所以iOS中的通话录音,都是第三方,通过网络或网络+运营商的方式,实现通话录音的。

参考:https://crifan.github.io/mobile_app_summary/website/app_dev_summary/phone_call_record/ios_record.html 

4、我用的是swift4,发现找不到swift_complier,我该去哪儿桥接呢?
答题大佬:MissLIBRA

问题贡献者:MissLIBRA

我开发的app准备集成高德SDK,结果根据官方开发者手册,第一步是引入头文件。官方文档是swift2.2,我用的是4,发现找不到swift_complier,

我该去哪儿桥接呢?

我是用pod安装的sdk,还是我这样直接引用一下就好?

哦哦,好了,直接新建个oc类让xcode自动生成oc-swift桥文件。在桥文件中导入高德sdk就好了,最后还可以把oc类删掉 。

5、为什么app,不同的设备有的闪退,有的不闪退,好奇怪?
答题大佬:群主

问题贡献者:King
不一定是设备的原因。设备之间一般分辨率不同,除非根据不同分辨率加载不同资源,而资源又不存在。

6、我想问我的app中保存的会员信息,隔一段时间会清零,然后让用户重新登陆,这是怎么回事?(会员信息是用UserDefaults保存的)

答题大佬:群主、appleMan

问题贡献者:김위청
使用UserDefaults 保存信息有没有执行synchronize同步方法?
UserDefaults保存的数据偶尔有可能会丢失,一般是系统重新启动之后。

为什么不用keychain存储呢

我学的时候是用userdefaults的。

哦,那就再研究下keychain吧。

但是已经上架了,就没办法去做修改了,只有通过版本迭代了。

现在就是一个会员,一直这样,我也找不出问题,我感觉他的保存的userdefualt,隔断时间就会没有。

像群主说的那样,UserDefaults保存的数据偶尔有可能会丢失,一般是系统重新启动之后。还有几种可能你排查一下:

1、跟系统版本有关,ios10+可能会出现此问题的发生;

2、有可能你存储的数据量过大导致的;

3、有可能是本地做了清除操作。还有就是保存数据的时候,有没有及时的同步数据synchronize;
4、另外教程里也有synchronize的相关内容,建议你可以了解一下,希望对你有帮助。

7、请问MapView可以实现自定义地图背景么?或者自定义地图背景颜色??
答题大佬:群主

问题贡献者:风
应该是可以的,

请参考这个第三方框架https://www.jianshu.com/p/3ed48597ee00 

8、这是在5s上适配UI Label自适应大小,有没有合适的处理方式呢??目前cell的行高值固定的为79
答题大佬:群主

问题贡献者:风

好的,使用现有的适配方式遇到了什么问题?是截图中文字的头部和底部没有完全显示吗?

是的,在5s上没有完全显示

label的高度太小了,重新调整一下label的高度,然后再自动更新一下上、下两个约束

调高还是调一个固定的高度么??

在属性设置面板给高度设置一个值,此时Bottom Space to和Top Space to会出现×××警告,然后再调整这两个约束,使警告消失,或者删除这两个约束,然后再重新添加。

(就是这样手把手,带你学iOS开发)

9、请问xcode9.4中解决git冲突后,pull按钮还是灰色为什么不能点击,求解?
答题大佬:群主

问题贡献者:叶舟

请确认是否真正解决了git冲突。另外请尝试使用github desktop客户端进行git管理,这样出现的问题相对少些。

10、求,Swift怎么import三方库的子模块?
答题大佬:群主

问题贡献者:强迫依存 

群主:
一般是下载第三方库的整个项目,然后将所需的部分导入到自己的项目中。还有的第三方库会将子模块独立出来,比如Alarmofire就有JsonToObject、Reachability等子模块。

强迫依存:
嗯,请问这种subspec在swift中能导入吗?pod 没问题

群主:
将Mikoto/Encrypt修改为Mikoto.Encrypt试试,Swift导入规则:
import [module]
import [module].[submodule]
import [import kind] [module].[symbol name]

强迫依存:

使用import Mikoto能把Encrypt模块的oc文件导进来

但是下面的Security.swift不行

哦哦,找到原因了,原来是Security没有标记为public 。

11、请问一下,纯swift项目,真机和模拟器都能运行,打包的时候报错,说找不到库,是怎么回事啊?有没有坑友遇见过呀(坑友指同时入坑iOS开发的好×××)
答题大佬:群主

问题贡献者:zhu

这些库都是用pod导入的,把他们顺序换了,也是找不到pod导入的库。

群主:
参考这篇文章:

https://stackoverflow.com/questions/32673866/cocoapods-cannot-load-underlying-module-for-x 

zhu:

谢谢群主,见效了

12、这个问题有遇到的吗?检查了证书,貌似是没有问题的。
答题大佬:群主

问题贡献者:appleMan

群主:
参考这个https://www.jianshu.com/p/601f00b2d312 

appleMan:

貌似是升到ios12正式版后出现的问题是比较多的

Joseph:
还是等等再升吧!

Warrior:
对了,你用过12的捷径没
语音输入,不能直接输入高德里面

appleMan:
捷径之前是workflow,纯英文的挺好用的。
现在改为中文的开放出来额了,用着还行,都是一些正则之类的东西

Warrior:
三方应用的,搞的不能直接把文本输入啊,高德

appleMan :
这个功能可以很便捷的去管理和制作一个工作流

Warrior :
工作流,做什么,扫码付款

appleMan:
自己去摸索下吧!

Warrior:
恩,就是现在三方应用不会接受输入的……,
自带应用倒没问题

appleMan :
是的,目前支持的都是苹果自家的应用

Warrior :
语音输入转化的文本传不进去三方应用 

13、公司来了一个新人,需要给他创建一个自己的共享版本库。
答题大佬:群主

问题贡献者:叶舟

叶舟:

在xcode9里的git怎么创建本地的共享版本库啊, 我看wwdc里也没有说到这一点 。就是比如 公司来了一个新人 需要给他创建一个自己的共享版本库 

群主:
使用菜单[Souce Control > Clone],然后输入远程git中的资源路径,在新的电脑上down一个库。

叶舟:

在xcode9.4上 这个configure界面在哪里啊 ,好难找,这个是add remote。

群主:

叶舟:
这个知道,但是他这个是add exsting remote ,没有add remote那个选项啊。
好了,解决了。不过我创建仓库怎么总是failed 呢 xcode9.4

群主:

推荐用这个

https://desktop.github.com/ 很简单

14、你好,有办法自定义

MKAnnotationView么?

leftCalloutAccessoryView,rightCalloutAccessoryView无法满足要求。

答题大佬:群主

问题贡献者:叶舟
有啊,参考这个,Completely Custom Annotation Views
https://digitalleaves.com/blog/2016/12/building-the-perfect-ios-map-ii-completely-custom-annotation-views/ 

15、请问moya.怎么post.[string]数组到服务器呀?
答题大佬:群主

问题贡献者:김위청

김위청:
这里book是[string]里头有值。但是我这么post的话,服务端获取

不了。

群主:

没有使用过Moya,不过可以将数组转为用分隔符进行分隔的字符串,将字符串传到服务器,服务器再用分隔符将字符串转为数组。

김위청 : 
哦。我明白了,多谢指点。

16、谁更xcode10了和9.4.1比变化大吗?语法变化大吗?
答题大佬:群主

问题贡献者:回忆满满
群主:

组件面板移到了顶部, 语法是Swift4.2,有些小变化 .

回忆满满:
之前的 9.4的项目 会报错吗?跟苹果玩 swift 都怕了

群主:
主要是些根据Xcode提示,就可以修复的小bug

回忆满满:
那还好

17、请教个问题,实际项目中view页面的通过storyboard构建还是通过源代码写的?

答题大佬:群主

问题贡献者:Jack

群主:
两种情况都有的,一般大型项目使用代码的比较多,中、小型项目追求开发速度的使用storyboard比较多。

Jack:

一个项目中storyboard是可以有多个吧

群主 :
是的,一般按功能模块,或者根据开发者进行多个storyboard的划分

Jack: 
恩恩  了解了.

18、 单元测试方面的资料有没有推荐啊?

答题大佬:群主

问题贡献者:回忆满满
单元测试参考,内容比较全

https://juejin.im/post/5a58738ff265da3e4b76b62d 

19、\x01在32位机器上代表的是true?

答题大佬:群主

问题贡献者:apple Man

群主:
参考这个https://stackoverflow.com/questions/27420174/what-is-the-meaning-of-this-value-x01 

apple Man:
我明白文章说的什么意思了,文章是将结果专为bool用nslog进行打印的,而我是用的po指令调试的时候,打印的。在32位机上得到的结果\x01。同样的方法在64位机上打印的是true。明白了,谢谢提示。

20、抖音这种tabbar,怎么布局呀?(我想要中间是自定义的)

答题大佬:群主

问题贡献者:网易4

群主:
编写自定义的tab bar,不一定用系统的。也可以参考神兵利器课程中第9章的第4节和第5节。https://study.163.com/course/courseMain.htm?courseId=1003657013&share=2&shareId=1683220 (网易云课堂课程链接)

这里还有一些参考资料:
1.https://www.jianshu.com/p/e45a1c239451 
2.https://www.cnblogs.com/tieria/p/4557538.html 
3.http://suo.im/4pJ7U7

21、程序员真的需要在bug中不断的学习英文吖
答题大佬:群主、神奇的海螺

问题贡献者:Joseph

Joseph:

https://stackoverflow.com/questions/25484554/fatal-error-nsarray-element-failed-to-match-the-swift-array-element-type 
但还是没解决。被卡住的感觉不太好。

神奇的海螺:
数组元素运算错误在swift数组元素类型中。

这个异常的翻译是不支持这个平台

Joseph:
哦哦,原来是这样,又是4.2惹的祸。
谢了

神奇的海螺:
程序员需要在bug中不断的学习英文

Joseph:
是的,的确如此,有道理。

22、学完这些,能做出微信吗?国庆节7天不知道能否撸出来一个,我要试试!!!

群主:
实现微信客户端的大部分功能是可以的,微信的后台服务功能则是另外的技术了。另外Github中有Swift版的微信哦,可以下载来研究下

神奇的海螺:
不算后台服务,就前端的iOS框架
国庆节7天不知道能否撸出来一个,我要试试

群主:
好主意啊,实践才能学得更快!建议你多看看第2、3、4、5、7、8章节的内容,会对这次的开发有帮助。如果制作中遇到问题就发到群里讨论。

网易云课堂《iOS从入门到精通Xcode&Swift4》

课程链接:

https://study.163.com/course/courseMain.htm?courseId=1615001&share=2&shareId=1683220

23、app上线新政策出来后,这个隐私政策的url是要配置的,各位上线app的炕友,注意下

多谢分享~

24、谁有青花瓷破解版啊 求分析?
群主:http://soft.macx.cn/6901.htm 

appleMan:

补充需要会员登陆https://www.charlesproxy.com 
青花瓷官网有free版的

25、请教这个错误提示怎么解决?

[framework] CUIThemeStore: No theme registered with id=0  请教这个错误提示怎么解决?
参考:

https://forums.developer.apple.com/thread/17436 
https://github.com/ImageOptim/ImageOptim/issues/113 

26、 你好,有办法自定义?

MKAnnotationView么?

leftCalloutAccessoryView,rightCalloutAccessoryView无法满足要求

有啊,参考这个,

Completely Custom Annotation Views
https://digitalleaves.com/blog/2016/12/building-the-perfect-ios-map-ii-completely-custom-annotation-views/ 

27、

@群主,修复之后就变成这样了,怎么破?      

群主:
把[code]这个placehoder删掉,输入自己的代码即可

Joseph:
@群主 这个code怎么编辑啊?我在跟着教程学,这里不是很懂。

Joseph:
好了,设定好了。哈哈哈…

                        

                              

一些实用小技巧分享:

感谢蒋哥传媒、appleMan 、Joseph等大神分享~

1、App Store 十周年,还记得2008年iOS的界面吗?

http://c7.gg/aLt7J

2、苹果正式发布 Xcode 10:新 SDK、Swift 4.2、深色模式

http://coolketang.com/staticIOS/5ba047639f54540039e9f31b.html

3、App Store 8 月"三低":新增低、下架低、App 被拒数量低,苹果这是怎么了?

https://mp.weixin.qq.com/s/cMhvr6uCtsuJvJW52QkFtA

4、苹果iOS 12正式版更新内容大全

http://c7.gg/aLtMV

5、Windows 95 被做成了一款 App,我们在MacBook 上体验了它

http://www.cocoachina.com/programmer/20180907/24823.html 

6、「新iPhone发表倒数」从3.5寸到6.5寸,历数iPhone11年来的变化

http://coolketang.com/staticIOS/5b9470b51b69e6005b594a44.html

7、快速提高工作效率-Mac自动化脚本

http://c7.gg/aLtPT

8一个杂七杂八,却功能完整的广告引导页

http://c7.gg/aLtKf

9、一篇文章看懂iOS代码块Block

https://mp.weixin.qq.com/s/GLHGZzdygl6qqQh8IclqCA

10、iOS:保护 App 不闪退

https://mp.weixin.qq.com/s/4dYVbddHrozKpf_GtnyQfA

11、打造开源第一 iOS 图片浏览器 (支持视频)

https://mp.weixin.qq.com/s/hKZhlfOYfyhRWt0Aj866Vg

12、iOS 12 效率神器「捷径」怎么用?这里有一份入门指南

http://c7.gg/aLtLK

13、iOS模块化探索实践

https://mp.weixin.qq.com/s/qhmG1sYi9AxigrlDSf01Ng

14、iOS-再也不用担心数组越界组越界

http://www.cocoachina.com/ios/20180917/24934.html

15、ARKit:增强现实技术在美团到餐业务的实践
https://toutiao.io/posts/2po46u

16、为什么iOS的过渡动画看起来很舒服?

http://c7.gg/aLtM6

17、聊聊授权登录的那些事

http://c7.gg/aLtP3

18、阿里云服务器2G 4核三年只需699
https://promotion.aliyun.com/ntms/act/vm/aliyun-group/buy.html?group=glMVTFVlBw 

19、给大家分享一些raywenderlich上的免费资料
https://cloud.189.cn/t/FzmA7zNFBzYn 
密码:5111

https://pan.baidu.com/s/1LpH7lbr6JX31-0Ec8YdndQ 
密码: 7qv1
(这是百度的,再发一次方便百度用户下载)

20、iOS面试知识点整理(一)

https://mp.weixin.qq.com/s/ypEp1gHzyKyIdIoOYx--YQ

21、2018 6月底面试经历简单回忆

https://mp.weixin.qq.com/s/G3PgoQ-9Hlatr3MsFn7YMA

(阿里、网易等大厂面试经历,你值得拥有)

猜你喜欢

转载自blog.51cto.com/coolketang/2319083