如何定时刷新一个View的内容呢? 酷课堂iOS交流群问答(201901期)

酷课堂iOS交流群问答精华整理 

 

以下内容由@客服妹子爬楼整理,限于篇幅,无法就所有问题做详细说明,感兴趣的小伙伴,可以添加小课QQ3068527144,申请加入交流小群。希望大家碰到的这些问题,对你有帮助/启发。

 

我们是一个什么样的组织:很干、很佛系...

酷课堂iOS移动开发交流群,聚集了一群热爱技术、有趣、有料,平均Q龄在10年以上的老司机,他们遍布在全球各地,有出版过iOS图书的作者、知名企业iOS工程师、高校大学生、自由职业者……每晚11点准时熄灯(禁言),只聊技术,几乎不闲聊。

 

IT从业者自学成功的人不少,但从入门到放弃的可能更多

自学的过程中总会遇到各种各样的问题,却很难得到及时有效的引导,一个问题被困上好几天也是常有的事。所以我们希望能够提供一个平台,让更多自学者可以在这里讨论、交流、获得帮助/启发,进而更加快速入门。如果你对iOS开发感兴趣,欢迎加入我们。一个人走的快,一群人走的远,我们一起加油精进。

 

如何加入我们:

1、仅对付费学员开放,最低50元购买一门iOS课程,即可加入。

(设置门槛是为了筛选真正想学习的人,一本书的价钱,你就能够加入一个高质量的学习交流圈)

2、已购买课程的同学,请添加小课QQ3068527144,按操作提示即可获取对应QQ群号,及配套练习源码。

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

酷课堂产品官网:http://www.coolketang.com

(仅支持在ipone.ipad上使用学习)

网易云课堂视频教程链接:http://163.lu/FIDD71  

(同时支持在电脑和手机、平板上播放学习)   

群主《iOS移动开发从入门到精通》图书http://product.dangdang.com/25535011.html

(天猫、当当、京东搜索李发展 iOS”即可找到)

 

 

快问快答:                     

1localhost不能访问,ip可以,这怎么解决?

localhost在浏览器中是否可以正常访问,如果可以,在info.plist中添加Allow Arbitrary Loads之后再尝试一下。

 

 

2、求分享一款简单的源代码项目?   

有的,你去这里看看http://www.code4app.com/category

 

 

3、求,怎么使用代码改变故事版中给空间添加的约束呢?或者故事版中添加了控件,没有添加约束,想使用三方库添加约束,该怎么做呢?(提问:曹超男)

先选择故事板中的约束,然后在约束上点击鼠标右键,并拖动到类文件,在类文件中建立一个给的outlet,就可以使用代码修改约束了。

 

                                                  

4、请教一下,swiftpost请求,request payload中的json数据该如何传递呀?

Alarmofire比较方便,原生的参考:

https://stackoverflow.com/questions/31937686/how-to-make-http-post-request-with-json-body-in-swift

 

 

5、各位大佬,请问买笔记本的话,8G内存够开发用吗?

(提问:MCYP

配置越高,开发效率越高。你说的配置也是可以做开发的,但是硬盘有点小了。

 

            

6swift 开发中,界面布局的实现一般都是使用代码创建呢?还是用手动拖动元素控件进行布局的啊?如果都有使用的话,哪一种多一些?

这两种情况都有,

用故事板的话:

开发效率高,所见即所得,有利于团队沟通和协调,但是当故事板里的内容较多时,打开会比较慢。

 

用代码的话:

app运行的性能稍微高一些。

大型的开发项目一般会选择使用纯代码的方式,中小型的项目选择故事板加代码混合的方式。

总的来说,用代码写布局的稍微多一些。另外这两种方式,适配多种尺寸的屏幕也都很方便。

 

 

                            

7、请问苹果的开发者账号可以用在macos应用的开发中吗?还是不同平台有不同的开发者账号?(提问:阿周那

可以共用的

 

 

8、不用上线的企业账号APP,怎么在用户不知不觉的情况下更新应用?除了热更新还有其他办法吗?(提问:诚绅) 

iOSapp的不知不觉的静默更新,目前只有iOS系统自己可以做到。

你这种情况,需要提供一个服务器接口,将本地的版本号和服务器端的版本号进行比较。如果服务器端版本号较新,则提示用户或自动打开新版本的下载地址,并自动下载。下载完成后,会提示是否要安装***app,用户点击安装就可经自动安装了。

 

 

9、看神兵利器中教程使用EZLoadingActivity ,在项目导入完库后,发现EZLoadingActivity源文件报错了,导致项目都运行不起来了,怎么把这个导入的内库全部删掉啊?(提问:演绎不了丶离歌

删除某个库很简单,在Podfile删除EZLoadingActivity,然后执行pod update --verbose --no-repo-update,参考https://blog.csdn.net/touch929/article/details/78654656

 

某个swift类库安装后报错也挺正常,主要是swift版本兼容问题,建议修复一下就可以正常使用了。

 

 

10、提供一个服务器自动下载,手动安装,这个移动端怎么实现呀?

下载下来的是什么内容?如何安装?有相关技术文章推荐吗?

谢谢群主(提问:诚绅)

 

参考:https://www.jianshu.com/p/7814030d4e76

https://www.jianshu.com/p/85d5dbb71164

 

 

话题讨论

1、扫码功能可以达到微信扫码的体验吗?

参与人:诚绅、群主、73、情癫大圣

群主:

我想是可以的,而且目前有很多扫码相关的开源类库。

 

诚绅:

能给推荐个吗群主,我找不到体验那么好的。

 

群主: 

这几个Github上的比较流行的

https://github.com/zhang28602/ZZYQRCodeSwift

https://github.com/chenjie1219/SwiftScan

还有一个专门扫信用卡的:

参考iOS教程中的第7章的第22

 

诚绅:

好的,谢谢群主哦!

微信的扫码距离两三米都能识别,其他的扫码都识别不到。这个要怎么办呀?

 

群主:

这需要调整放大倍数,当距离较远时,调整放大的参数

参考https://www.jianshu.com/p/bb9adc33c66f

 

诚绅:

这是安卓的呀。

swift怎么获得对焦距离,也就是焦距,调整放大倍数的话需要知道距离。要不怎么调整距离。

 

群主:

可以的,但是没有swift的版本,你需要调整一下:

https://blog.csdn.net/sinat_31177681/article/details/73277253

 

诚绅:

@群主 是这样的

这么一张图片,任何扫码工具都是无法识别的,但是微信在扫到它的时候就是可以拉近,说明微信的扫码功能应该使用到了图像识别技术,只要识别图像看着像二维码就拉近再识别。

我就想在扫码的时候加入图像识别的技术,去识别这么一个模糊的方块。如果识别到有这个方块,就根据方块大小做适当的拉近。

这个光靠二维码识别是不够的,二维码识别不到是没有任何响应的。

 

73

微信应该是实时对图像做处理(如放大、锐化等),当处理后的图片中能够获取到足够多的二维码信息后,再根据画面比例进行数码变焦。

也就是说它变焦的前提条件就是先要获取到了足够多的二维码信息。

你要做到微信那样,

1、首先要精通各种图片的处理技术,有一套算法让图片中的二维码信息清晰化。

2、然后再有一个算法来进行合适的画面定位与数码变焦。

3、最后自己再写一个根据残缺或模糊二维码图片解析出字符串的算法。

我觉得这不看专业实力,光看工作量就已经不是一般人能搞定的了。

 

情癫大圣:

算法问题,确实高大上,难。

 

 

 

2、有个问题,如何定时刷新一个View的内容呢?

参与人:QWEIZI、曹超男、发哥

 

曹超男:

定时器啊!

 

QWEIZI

Timer.scheduledTimer 这种方式?

 

发哥: 

是的,使用Timer,参考https://www.jianshu.com/p/7740ce71d7aa

GCD也是可以的https://blog.csdn.net/zxw_xzr/article/details/78317936

 

QWEIZI

那这是在主UI 线程中更新的?

 

发哥:

是的,在GCD中,使用DispatchQueue.main.async {

           

        }

也可以返回主线程进行界面的更新。

 

QWEIZI

哦,还有TimerView 这种方法~~

 

 

 

3、上次我们项目更改Bundle Identifier。我们主管要求让自动卸载之前的APP

有这么大权限 自动卸载?

参与人:诚绅、情癫大圣、C、群主、晓征

诚绅:

做不到呀。

 

情癫大圣:

有什么办法,在IOS的模拟器上,装上其APP比如微信。

 

C

老话题了吧,好像不行。

 

群主:

xcode在打release包时,architectures打包的时候不会包含模拟器的architecturesdebug包里面就有,所以release发布的包,之后就没法安装到模拟器了。

 

情癫大圣:

原来如此,

 

晓征:

之前我也碰到这个问题,找了很久都没有解决方法。原来可以这样操作。

 

Heeah

在群里匿名时间久了,看到群主每天一个个的帮人解答问题,感觉很负责了。

 

叶舟:

手动点赞。

 

 

 

4、假如一个APP里面有两个大模块,一个用原生的做的,另一个模块全部是靠H5网页引入的,这样的APP能打包上线审核通过吗?

参与人:演绎不了离歌、 发哥      

 

发哥:

可以的,很多实时变化的功能,比较统计数据、报表之类、注册协议等模块都会使用H5来做。

                                                      

演绎不了:

好的,还有大部分功能都是H5,就通过一个地址引入,原生的功能没有网页的多。

 

发哥:

我知道如果一个app完全用h5+webview来做,那基本是通不过审核的。你的这种情况,就有些不好确定了,毕竟苹果审核的严格,我们都知道。如果你这说的这种app提交审核,假如审核失败的话,我猜原因可能会有这两种:

1、内容太少,仅包含一些链接网址,所以被打回

2、引用webview,太像网站了,而不像是一个app,缺少原生控件,不符合苹果应用界面规范,所以被打回

你要想办法避免这两个问题,才有可能通过审核

 

演绎不了:

如果上线不了,我就需要在一个多月,把H5里面的东西全部用原生的来写,像我这种初学者,哪里能在这么短的时间做到,功能太多,我还有很多不会的东西。

 

发哥:

在不追求美观的情况下,用原生一个多月实现一个app的所有界面应该不难的,你要有信心。另外需求也是可以沟通的,你可以向领导反馈在一个多月实现主要功能,其余副功能和界面美化之类的,后期再以版本迭代的方式进行,先让app跑起来再说。

 

演绎不了:

但是功能很多,本来我来公司是来做Android的,因为这个后来公司也想要做一个ios,但是不想花钱招人,让我搞,那些功能我用我熟练的Android写完一个多月也写不完,而且还没有UI做图,所有的颜色图片还得自己一点一点弄。

 

发哥:

建议还是多和领导沟通一下,详细解释一下苹果审核的因素、app开发中的困难这些情况。开发实现不了的需求就只能沟通了。

 

另外这几条是苹果拒绝应用的原因,要做到心中有数,尽力避坑。

18%   缺少信息Need more information

11%   条款2.2:有bug

6%   条款22.2:使用欺骗、误导性的内容,尤其是名字和icon与其它App相仿。

6%   条款10.6UI太差,达不到苹果的审美。

5%   条款3.4iTunes Connect里的App名称和设备上显示的差别太大。

4%   条款3.3App的名称,描述,截屏或视频跟应用本身不相关。

4%   条款17.2:要求用户输入个人隐私信息。

4%   条款2.1App崩溃。

3%   条款2.16:多线程App的后台服务使用场景超出规定范围。

3%   条款3.1App名称或关键词含有其它产品名称的。

 

 

演绎不了:

多谢解答,ios开发中每遇到一个功能点,都需要百度查好久才找到合适的,以后希望群主能多多帮助。

 

发哥:

好的,自学的过程就是这样,有百度不了的,可以发到群里,大家互相交流!

酷课堂iOS交流群问答精华整理 (201901期)

 

以下内容由@客服妹子爬楼整理,限于篇幅,无法就所有问题做详细说明,感兴趣的小伙伴,可以添加小课QQ3068527144,申请加入交流小群。希望大家碰到的这些问题,对你有帮助/启发。

 

我们是一个什么样的组织:很干、很佛系...

酷课堂iOS移动开发交流群,聚集了一群热爱技术、有趣、有料,平均Q龄在10年以上的老司机,他们遍布在全球各地,有出版过iOS图书的作者、知名企业iOS工程师、高校大学生、自由职业者……每晚11点准时熄灯(禁言),只聊技术,几乎不闲聊。

 

IT从业者自学成功的人不少,但从入门到放弃的可能更多

自学的过程中总会遇到各种各样的问题,却很难得到及时有效的引导,一个问题被困上好几天也是常有的事。所以我们希望能够提供一个平台,让更多自学者可以在这里讨论、交流、获得帮助/启发,进而更加快速入门。如果你对iOS开发感兴趣,欢迎加入我们。一个人走的快,一群人走的远,我们一起加油精进。

 

如何加入我们:

1、仅对付费学员开放,最低50元购买一门iOS课程,即可加入。

(设置门槛是为了筛选真正想学习的人,一本书的价钱,你就能够加入一个高质量的学习交流圈)

2、已购买课程的同学,请添加小课QQ3068527144,按操作提示即可获取对应QQ群号,及配套练习源码。

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

酷课堂产品官网:http://www.coolketang.com

(仅支持在ipone.ipad上使用学习)

网易云课堂视频教程链接:http://163.lu/FIDD71  

(同时支持在电脑和手机、平板上播放学习)   

群主《iOS移动开发从入门到精通》图书http://product.dangdang.com/25535011.html

(天猫、当当、京东搜索李发展 iOS”即可找到)

 

 

快问快答:                     

1localhost不能访问,ip可以,这怎么解决?

localhost在浏览器中是否可以正常访问,如果可以,在info.plist中添加Allow Arbitrary Loads之后再尝试一下。

 

 

2、求分享一款简单的源代码项目?   

有的,你去这里看看http://www.code4app.com/category

 

 

3、求,怎么使用代码改变故事版中给空间添加的约束呢?或者故事版中添加了控件,没有添加约束,想使用三方库添加约束,该怎么做呢?(提问:曹超男)

先选择故事板中的约束,然后在约束上点击鼠标右键,并拖动到类文件,在类文件中建立一个给的outlet,就可以使用代码修改约束了。

 

                                                  

4、请教一下,swiftpost请求,request payload中的json数据该如何传递呀?

Alarmofire比较方便,原生的参考:

https://stackoverflow.com/questions/31937686/how-to-make-http-post-request-with-json-body-in-swift

 

 

5、各位大佬,请问买笔记本的话,8G内存够开发用吗?

(提问:MCYP

配置越高,开发效率越高。你说的配置也是可以做开发的,但是硬盘有点小了。

 

            

6swift 开发中,界面布局的实现一般都是使用代码创建呢?还是用手动拖动元素控件进行布局的啊?如果都有使用的话,哪一种多一些?

这两种情况都有,

用故事板的话:

开发效率高,所见即所得,有利于团队沟通和协调,但是当故事板里的内容较多时,打开会比较慢。

 

用代码的话:

app运行的性能稍微高一些。

大型的开发项目一般会选择使用纯代码的方式,中小型的项目选择故事板加代码混合的方式。

总的来说,用代码写布局的稍微多一些。另外这两种方式,适配多种尺寸的屏幕也都很方便。

 

 

                            

7、请问苹果的开发者账号可以用在macos应用的开发中吗?还是不同平台有不同的开发者账号?(提问:阿周那

可以共用的

 

 

8、不用上线的企业账号APP,怎么在用户不知不觉的情况下更新应用?除了热更新还有其他办法吗?(提问:诚绅) 

iOSapp的不知不觉的静默更新,目前只有iOS系统自己可以做到。

你这种情况,需要提供一个服务器接口,将本地的版本号和服务器端的版本号进行比较。如果服务器端版本号较新,则提示用户或自动打开新版本的下载地址,并自动下载。下载完成后,会提示是否要安装***app,用户点击安装就可经自动安装了。

 

 

9、看神兵利器中教程使用EZLoadingActivity ,在项目导入完库后,发现EZLoadingActivity源文件报错了,导致项目都运行不起来了,怎么把这个导入的内库全部删掉啊?(提问:演绎不了丶离歌

删除某个库很简单,在Podfile删除EZLoadingActivity,然后执行pod update --verbose --no-repo-update,参考https://blog.csdn.net/touch929/article/details/78654656

 

某个swift类库安装后报错也挺正常,主要是swift版本兼容问题,建议修复一下就可以正常使用了。

 

 

10、提供一个服务器自动下载,手动安装,这个移动端怎么实现呀?

下载下来的是什么内容?如何安装?有相关技术文章推荐吗?

谢谢群主(提问:诚绅)

 

参考:https://www.jianshu.com/p/7814030d4e76

https://www.jianshu.com/p/85d5dbb71164

 

 

话题讨论

1、扫码功能可以达到微信扫码的体验吗?

参与人:诚绅、群主、73、情癫大圣

群主:

我想是可以的,而且目前有很多扫码相关的开源类库。

 

诚绅:

能给推荐个吗群主,我找不到体验那么好的。

 

群主: 

这几个Github上的比较流行的

https://github.com/zhang28602/ZZYQRCodeSwift

https://github.com/chenjie1219/SwiftScan

还有一个专门扫信用卡的:

参考iOS教程中的第7章的第22

 

诚绅:

好的,谢谢群主哦!

微信的扫码距离两三米都能识别,其他的扫码都识别不到。这个要怎么办呀?

 

群主:

这需要调整放大倍数,当距离较远时,调整放大的参数

参考https://www.jianshu.com/p/bb9adc33c66f

 

诚绅:

这是安卓的呀。

swift怎么获得对焦距离,也就是焦距,调整放大倍数的话需要知道距离。要不怎么调整距离。

 

群主:

可以的,但是没有swift的版本,你需要调整一下:

https://blog.csdn.net/sinat_31177681/article/details/73277253

 

诚绅:

@群主 是这样的

这么一张图片,任何扫码工具都是无法识别的,但是微信在扫到它的时候就是可以拉近,说明微信的扫码功能应该使用到了图像识别技术,只要识别图像看着像二维码就拉近再识别。

我就想在扫码的时候加入图像识别的技术,去识别这么一个模糊的方块。如果识别到有这个方块,就根据方块大小做适当的拉近。

这个光靠二维码识别是不够的,二维码识别不到是没有任何响应的。

 

73

微信应该是实时对图像做处理(如放大、锐化等),当处理后的图片中能够获取到足够多的二维码信息后,再根据画面比例进行数码变焦。

也就是说它变焦的前提条件就是先要获取到了足够多的二维码信息。

你要做到微信那样,

1、首先要精通各种图片的处理技术,有一套算法让图片中的二维码信息清晰化。

2、然后再有一个算法来进行合适的画面定位与数码变焦。

3、最后自己再写一个根据残缺或模糊二维码图片解析出字符串的算法。

我觉得这不看专业实力,光看工作量就已经不是一般人能搞定的了。

 

情癫大圣:

算法问题,确实高大上,难。

 

 

 

2、有个问题,如何定时刷新一个View的内容呢?

参与人:QWEIZI、曹超男、发哥

 

曹超男:

定时器啊!

 

QWEIZI

Timer.scheduledTimer 这种方式?

 

发哥: 

是的,使用Timer,参考https://www.jianshu.com/p/7740ce71d7aa

GCD也是可以的https://blog.csdn.net/zxw_xzr/article/details/78317936

 

QWEIZI

那这是在主UI 线程中更新的?

 

发哥:

是的,在GCD中,使用DispatchQueue.main.async {

           

        }

也可以返回主线程进行界面的更新。

 

QWEIZI

哦,还有TimerView 这种方法~~

 

 

 

3、上次我们项目更改Bundle Identifier。我们主管要求让自动卸载之前的APP

有这么大权限 自动卸载?

参与人:诚绅、情癫大圣、C、群主、晓征

诚绅:

做不到呀。

 

情癫大圣:

有什么办法,在IOS的模拟器上,装上其APP比如微信。

 

C

老话题了吧,好像不行。

 

群主:

xcode在打release包时,architectures打包的时候不会包含模拟器的architecturesdebug包里面就有,所以release发布的包,之后就没法安装到模拟器了。

 

情癫大圣:

原来如此,

 

晓征:

之前我也碰到这个问题,找了很久都没有解决方法。原来可以这样操作。

 

Heeah

在群里匿名时间久了,看到群主每天一个个的帮人解答问题,感觉很负责了。

 

叶舟:

手动点赞。

 

 

 

4、假如一个APP里面有两个大模块,一个用原生的做的,另一个模块全部是靠H5网页引入的,这样的APP能打包上线审核通过吗?

参与人:演绎不了离歌、 发哥      

 

发哥:

可以的,很多实时变化的功能,比较统计数据、报表之类、注册协议等模块都会使用H5来做。

                                                      

演绎不了:

好的,还有大部分功能都是H5,就通过一个地址引入,原生的功能没有网页的多。

 

发哥:

我知道如果一个app完全用h5+webview来做,那基本是通不过审核的。你的这种情况,就有些不好确定了,毕竟苹果审核的严格,我们都知道。如果你这说的这种app提交审核,假如审核失败的话,我猜原因可能会有这两种:

1、内容太少,仅包含一些链接网址,所以被打回

2、引用webview,太像网站了,而不像是一个app,缺少原生控件,不符合苹果应用界面规范,所以被打回

你要想办法避免这两个问题,才有可能通过审核

 

演绎不了:

如果上线不了,我就需要在一个多月,把H5里面的东西全部用原生的来写,像我这种初学者,哪里能在这么短的时间做到,功能太多,我还有很多不会的东西。

 

发哥:

在不追求美观的情况下,用原生一个多月实现一个app的所有界面应该不难的,你要有信心。另外需求也是可以沟通的,你可以向领导反馈在一个多月实现主要功能,其余副功能和界面美化之类的,后期再以版本迭代的方式进行,先让app跑起来再说。

 

演绎不了:

但是功能很多,本来我来公司是来做Android的,因为这个后来公司也想要做一个ios,但是不想花钱招人,让我搞,那些功能我用我熟练的Android写完一个多月也写不完,而且还没有UI做图,所有的颜色图片还得自己一点一点弄。

 

发哥:

建议还是多和领导沟通一下,详细解释一下苹果审核的因素、app开发中的困难这些情况。开发实现不了的需求就只能沟通了。

 

另外这几条是苹果拒绝应用的原因,要做到心中有数,尽力避坑。

18%   缺少信息Need more information

11%   条款2.2:有bug

6%   条款22.2:使用欺骗、误导性的内容,尤其是名字和icon与其它App相仿。

6%   条款10.6UI太差,达不到苹果的审美。

5%   条款3.4iTunes Connect里的App名称和设备上显示的差别太大。

4%   条款3.3App的名称,描述,截屏或视频跟应用本身不相关。

4%   条款17.2:要求用户输入个人隐私信息。

4%   条款2.1App崩溃。

3%   条款2.16:多线程App的后台服务使用场景超出规定范围。

3%   条款3.1App名称或关键词含有其它产品名称的。

 

 

演绎不了:

多谢解答,ios开发中每遇到一个功能点,都需要百度查好久才找到合适的,以后希望群主能多多帮助。

 

发哥:

好的,自学的过程就是这样,有百度不了的,可以发到群里,大家互相交流!

 

 

 

 

你可能感兴趣的:(iOS移动开发,人工智能)