iOS开发月报#10|201904

这里记录过去一个月,我看到的值得分享的内容,包含但不限于iOS知识,每月的最后一天发布。 欢迎推荐内容,能够前往zhangferry/iOSMonthlyReport提交issue。react

Tips

关于分享中的一些问题

微博linux

  • 多媒体内容的缩略图,即thumbnialData的大小应小于32K。不然会致使分享失败
  • 微博分享的AppStore下载连接没法打开,这是由于微博屏蔽了指向AppStore的连接。一个可行的作法的将微博的下载连接增长一个引导页,提醒用户经过Safari打开。

微信ios

  • 多媒体缩略图不能超过64K。
  • 微信分享从6.7.2以后没法获知是否真的分享成功。这个是官方的调整,旨在减小“强制分享至不一样群”等滥用分享能力。

facebookgit

关于facebook分享的采坑能够查看这篇文章,基本也都是我遇到的问题。iOS Facebook 分享中的坑github

Twitter面试

相同内容分享两次以后再分享将失败。swift

SWIFT_VERSION '5.0' is unsupported, supported versions are: 3.0, 4.0, 4.2. (in target 'SwiftyJSON’)

这个问题是多人写做开发引发的,有一个同事将SwiftJSON的版本升级至4.3.0,使其支持Swift5.0,可是Swift5.0跟Swift4.0+不兼容,致使出现上面的错误提示。windows

修复方式,手动指定SwiftJSON版本,使其低于或者等于4.2.0。react-native

pod 'SwiftyJSON', '~> 4.2.0'
复制代码

Encountered an unknown error (Unable to find a specification for FrameworkA depended upon by FrameworkB

FrameworkAFrameworkB都是私有的Cocoapods库,在制做FrameworkA时引用了FrameworkB,若是执行pod spec lint就会出现如上的提示,到时lint没法经过。ruby

这是由于lint在对引用库验证时,默认只验证官网的仓库,咱们须要手动添加验证源才能经过,方法是:

pod spec lint --sources=git@bitbucket.org:company/privateRepo.git,https://github.com/CocoaPods/Specs --allow-warnings
复制代码

Tabbar的初始化会当即调用viewDidLoad方法

正常当咱们初始一个UIViewController的时候,老是先执行init方法,执行完以后才会调用viewDidLoad方法。可是若是是UITabbarViewController的初始化则不一样,它会在执行init方法的时候当即调用viewDidLoad

来自Stack Overflow的解释:

UITabBarControllers call loadView inside [super init] method, which causes the call to viewDidLoad. So the viewDidLoad method will be called before init has finished its job.

If you have some thing to setup in viewDidLoad you should perhaps do it inside init method after the call to [super init].
复制代码

AppleScript打印换行

当我使用AppleScript编辑一段脚本时,有一个需求是打印一段换行的文本,试了不少方案,包括\n,\r, ASCII码等都不行,脚本执行时会忽略\符合自动换行,分开执行输入内容。

最后在不断尝试中找到了一种方案,直接敲出换行,以下,在变量_input后拼接一个换行符:

tell note1 to append text "[*]" & _input & " "
复制代码

因为第三方SDK使用了用于定位的功能,致使收到苹果的隐私警告邮件

后来定位的到的缘由是 Facebook相关的几个库均使用了 CoreLocation,也就是说 Facebook有偷偷使用用户地理位置权限的嫌疑。固然联系他们提供不带此功能的SDK也不显示,后来在react的issuse中也发现了对于此问题的讨论。 #20879

解决方案以下,即增长对应的隐私条款选项:

违反Guideline2.3.1被打回

在一次小版本提交时,遇到了这个违反Guideline2.3.1被打回的问题,也是第一次遇到。缘由描述是含有模糊代码,选择器错误或者误导审核的功能。实际排查中咱们并未猜测到哪里可能致使这些问题。

后来经过邮件跟审核人员沟通,获得以下回复:

问题又好了?猜测多是苹果审核的问题,他们也是会犯错误的。

后来在网上查过这种问题的处理状况,从资料时间来看,能够肯定这个是最近一年才出现过的问题。处理方法是,首先是应该跟审核人员联系,让他们告知是哪里的问题;而后再根据状况进行修改。

推荐阅读

做为面试官,哪类 iOS 开发更容易被你青睐?

来自老司机团队的文章,正在找工做的你确定能从中有所收获。

再贴一个我司的招聘信息,有意愿的小伙伴赶忙简历投过来。

用户端智能的应用实践

bang写的关于应用功能优化的几个点,根据用户的特征推荐金额,根据用户使用习惯调整push的时间,有些方案不必定可以为咱们所用可是解决问题的思路仍是挺不错的。

谈Linux,Windows,和Mac

王垠的博客其实已经被删除了,这个是网络留存的快照文件。牛B的人老是能留下牛B的话,这是王垠关于Linux、Windows和Mac的见解。

Swift语言的设计错误

let shoppingList = ["Eggs", "Milk"]
//这么写应不该该报错?
shoppingList[0] = "Salad"
复制代码

关于以上问题的讨论。当前Swift是不容许对let生命的数字修改内部元素的。在王垠看来这是一个低级的错误,具体为何这么定义“不对”,能够看文章讨论。

音视频

Github

iOS-Source-Probe

iOS源码探求系列,是iOS相关源码的分析合集。

AutoInch

优雅的iPhone全尺寸/等比例精准适配工具,能够经过设置一个屏幕的尺寸值,而自动配置其余尺寸值。支持代码和xib两种方式。

SwiftTips

做者总结的Swift使用中的一些小技巧,和喵神的《100 个 Swift 必备 tips》有殊途同归之妙。做为一名刚入门的Swifter,这两个资料都是很是推荐看一看的。

ZFPlayer

很是全面的一款iOS播放器,支持AVPlayer和ijkplayer两种播放模块。项目包含主流的视频播放场景,抖音、微博短视频等样式。若是是对视频功能有需求的小伙伴很是建议看一看。

相关文章
相关标签/搜索