为什么我决定开始在Swift中发布微库。

我一直希望并有一段时间为开放源代码社区做出贡献,部分原因是我的大部分工作基于免费工具,并且免费共享给我,我很感激。

但是主要原因是我很少从事有意义的软件工作。 我的意思是,如果您从蓝色大理石的角度看待这个世界,那么帮助一些公司出售更多产品并不是您的目标,甚至不是目标。

该应用程序的Open Sourcing部分使您感觉自己在处理比出售更多东西的应用程序还要大,有用且…好。

将组件分离,将软件与可重用和通用模块组合在一起只是好的设计,如果这些部分经过了实战测试并且质量很高,为什么不与所有人共享它? 我怀疑你们每个人都想与所有人共享一些简洁的代码。

我知道这对我们许多人来说都是显而易见的,但是-在这里相信我-并非所有人。

为什么是微型图书馆?

  • 专注和做一件事情的能力
  • 单一(简单)责任
  • 较小的精力准备发布
  • (很多)更容易维护

挑战(为什么不经常这样做?)

老实说,作为工程师,我很少经常考虑法律。

那并不意味着我不知道著作权法。 当您将工作中的工作开源时,您必须征求所有者(您的老板,客户等)的批准。 有时很难,人们(尤其是企业类型)会提出一些异议。 有些是有效的(客户不会理解什么是开源),有些是纯BS,例如“现在有人可以免费制作我的应用吗?”。

在开始进行项目之前,这要容易得多。 您应该说或最好写这样的电子邮件:

“在制作软件的过程中,我可能会确定一个或多个组件可以成为开放源代码库的候选对象,我可以在自己的私人时间内发布它,然后将其用作外部依赖项。 我花在此功能上的计费时间不会增加,但是您可能希望代码和软件质量更好。”

最终客户应了解并获得您的同意-带有批准的电子邮件回复就足够了。 有时,您将不得不解释什么是开放源代码,并且别忘了提到您使用的普通应用程序中有多少百分比基于开放源代码。

🌃失眠

https://github.com/ochococo/失眠

如何防止屏幕锁定我的应用程序?

这个想法很简单,如果您忽略.disabled ,则有三种模式以及两种模式:

  • always -只要一个Insomnia实例在内存中,iOS就不会超时也不会消失
  • whenCharging —如果设备连接到电源,失眠的行为将类似于always模式。

用法示例:

 最后一个类AppDelegate:UIApplicationDelegate { 
私人让失眠=失眠(模式:.whenCharging)
}

下一版本功能?

除了模式之外,我想称其为Rule -当设备电源状况发生变化时调用闭包。

将提供一些预定义规则,以使其更易于使用该库。

学分

Artur Martynowski失眠的标志设计—检查他的运球资料,他真的很棒!