Tag: mac地址

Xcode 9快捷键

命令键 (⌘)+ 0:打开/关闭项目浏览器 命令键 (⌘)+ 选项键 (⌥)+0:打开/关闭文件检查器 命令键 (⌘)+ Shift + Y:打开/关闭Xcode控制台 命令键 (⌘)+ B:构建项目 Command键 (⌘)+ Shift + K键:清理项目 选项键 (⌥)+ 命令键 (⌘)+ Shift + K:清除构建文件夹 删除派生数据:Xcode>首选项>位置选项卡>派生数据>单击箭头按钮 打开“派生数据”>“删除两个文件夹”

Swift,Xcode 8.1,NSTableView,绑定和数组控制器

从iOS开发转向macOS开发时,您理所当然的一件事就是iOS中的表格清晰明了。 UITableViews真正构成了许多iOS体验的骨干-明确定义了与它们的交互,并且对其进行了很好的记录和教导。 macOS和NSTableViews并非如此! 最初,我的印象是,就像在iOS上一样,将只有一种“正确”的方式来制作表格。 但是,在代码内实现和绑定之间,我感到困惑和迷茫。 这篇文章将通过使用绑定对NSTableView进行非常基本的设置。 有很多注释和屏幕截图,特别是因为要管理的屏幕太多….好吧,让我们深入研究! 第1步:准备数据模型 这里没有超级幻想。 让我们从PONSO开始。 类SomeDoctor:NSObject { var variable1:Int = 0 var variable2:Int = 0 var variable3:Int = 0 } 在上面,我们要做的就是创建一个NSObject并实例化一些变量。 请注意这些变量名,因为稍后我们将直接绑定它们(按名称)! 第2步:设置您的NSViewController 再次,这里没有幻想。 让我们创建典型的NSViewController,但是这次要注意创建一个动态类型的数组,如下所示: 类SimultaneousSummaryViewController:NSViewController { … @IBOutlet var arrayController:NSArrayController! 动态var临床医生= [SomeDoctor]() … } “动态”在这里只是意味着编译器将退出并寻找合适的Objective-C编译器来实现。 您可以在此处阅读有关该想法的更多信息。 当我们在这里时,我们还创建了一个NSArrayController引用-这是可选的! 我们严格不需要任何东西,但是制作完成后,您可能会感到不舒服。 步骤3:建立您的NSArrayController 找到您的NSArrayController对象,然后将其拖放到情节提要或xib文件中的NSViewController中。 步骤4:绑定,绑定,绑定! 突出显示您刚刚创建的NSArraryController。 展开右侧面板,然后选择“绑定”选项卡 展开后,请尝试使以下参数与您所拥有的匹配。 在上面,我们所做的是将NSArrayController绑定到NSViewController(明确地)。 现在,我们还将其绑定到我们先前定义的变量,并使该变量可用。 步骤5:绑定您的NSTableView 我们到家了! 将NSTableView拖放到情节提要/ […]

议程上有一个“摇钱树”

TLDR; 笔记应用程序议程将以Mac应用程序的新销售模式启动。 1月22日,我将为macOS启动一个新的应用程序:议程。 当我说“我”时,我的意思是“我们”,因为议程由Alexander Griekspoor和Marcello Luppi共同开发。 亚历山大(Alexander)是Apple设计奖获奖应用程序Papers背后的开发人员,而马塞洛(Marcello)是一位伟大的设计师,在过去的十年中我们一直致力于处理几乎所有事情。 毫无疑问,在发布之后,我将有更多关于议程本身的信息,但是现在,我想介绍我们已经确定的销售模式,因为它非常独特。 尽管在内部我们开玩笑地开始将其称为“摇钱树”,但我们并没有真正为该模型起名,因为这是我们成名和财富的入场券。 除了夸大其词外,更准确的描述可能类似于“不可续订的高级功能订阅”,但这很罗word,而“订阅”在我们的团队中是一个肮脏的词,因此我们坚持使用摇钱树 。 2017年Mac应用销售大危机 在过去的几年中,Mac开发人员一直在努力应对移动应用程序商店所带来的从底到高的思路。 客户不再希望为软件支付大笔费用,而传统方法(如出售主要版本升级)通常会遭到强烈反对。 当诸如Ulysses之类的出色应用迁移到订阅等更具可持续性的销售模式时,它们会获得1星评价。 这种情况变得非常严峻,使客户与开发人员竞争。 似乎没有一种适用于双方的模型。 付费升级会引起强烈抗议; 订阅引发强烈抗议; Mac App Store中缺少试用版意味着以可持续的价格销售是一个挑战。 “摇钱树”模型 在制定议程时,我们经过漫长而艰辛的思考,并决定尝试一些新的东西。 它不仅需要将应用程序简单地上传到Mac App Store上进行销售,还需要做更多的工作-在下面进行更多说明-但是我们认为结果对客户来说更公平,并会鼓励他们为应用程序付费,而不会引起任何通常的不满。 在我们的Beta测试计划以及在线论坛中,早期的反应是积极的。 那么,我们在这里实际上在谈论什么呢? 议程的销售模式介于免费增值和订阅之间。 该应用程序本身是免费的,没有时间限制,但是还有一些额外的高级功能需要应用程序内购买(IAP)才能解锁。 购买升级包后,所有当前功能将在用户的所有Mac(…和iOS设备,如果iOS应用可用)中永久解锁。 此外,购买后十二个月内添加到议程中的所有功能均已包括在内,并且也将永久解锁。 仅在十二个月的包装到期后,才需要出现需要购买新功能的高级功能。 用户可以选择购买新包装,解锁十二个月以上的新功能,也可以满足于已拥有的功能,直到添加了吸引他们再次购买的功能为止。 灵感来自素描 摇钱树的灵感来自流行的矢量图形应用程序Sketch所使用的销售模型。 (该模型实际上是Framer最初采用的,但是Sketch是使用它的最受关注的应用程序。)购买Sketch时,您将获得十二个月的更新。 因此,您可以在一年内获得新功能和错误修复,但是在此之后,您将再次依靠自己,直到再次购买。 您将不会获得任何新功能,甚至无法修复错误,但是您可以继续使用所下载应用程序的最新副本。 Sketch销售模型使开发团队避免了可怕的主要版本更新周期,该周期深受客户和开发人员的讨厌。 客户之所以讨厌它,是因为即使他们认为没有太多选择,他们也会被迫进行新的购买。 开发人员也不是很热衷,因为他们必须中断6个月或更长时间才能提出足够的新功能来证明版本增加。 而且由于许多客户认为更新只是抢钱,因此重大升级会导致大量负面反馈和1星级评论。 议程的销售模式受Framer和Sketch的启发,但有根本的不同-我们永远不会把客户甩在后面。 我们认为,始终能够为客户提供最新版本的议程非常重要,这样即使他们没有付款或功能已到期,他们也可以获得所有错误修复。 因此,摇钱树是关于解锁功能,而不是解锁更新。 订阅不是前进的方向吗? 苹果在应用程序商店中对订阅进行的更改非常清楚地表明,它意识到传统的销售应用程序的方式并不像以前那样有效。 订阅可以节省一天的时间吗? 您只需要看一下尤利西斯的命运就可以知道答案。 不,不是希腊英雄,而是广受尊敬的Mac应用程序,该应用程序于2017年转为订阅模式。尽管Ulysses是一款出色的应用程序,并赢得了Apple设计奖,但客户并不会羞于以“惩罚” 1-明星评论,将他们的出色评价推到比单独应用程序应有的水平低得多的水平。 人们显然不喜欢应用订阅。 订阅似乎过载 […]

创建自己的CocoaPod库

CocoaPods是本机iOS / macOS项目的依赖项管理器。 它具有成千上万个库,可以通过共享而不是共享项目的整个库集,而仅共享包含有关依赖项的所有信息的单个Pod文件,来帮助您优雅地扩展项目。 最终,其目标是通过创建一个更加集中的生态系统来提高第三方开源库的可发现性和参与度。 不仅如此,您还可以在私有存储库中创建pod,因此没有人可以访问它,并且您将获得CocoaPods的所有好处。 首先,让我们看一下cocoapods到底是什么 : 在这里,您可以看到cocoapods将所有依赖项存储在其他位置(例如GitHub上的代码,gitlab等),以及关于cocoapods仓库的pod信息。 因此,对于创建Pod,您应该将代码存储在某个仓库(公共或私有,您可以选择)上,并将Pod信息提供给cocoapods。 Pod信息实际上是一个.podspec文件,其中包含有关库的所有信息(请参见下文)。 因此,podspec基本上如下所示: Pod :: Spec.new do | s | s.name =’MyLibrary’ s.version =’0.1.0′ s.summary =’真棒’ s.description = <<-DESC 帮助您飞行。 数据中心 s.homepage =’http://example.com’ s.screenshots =’www.example.com/screenshots_1′ s.license = {:type =>’MIT’,:file =>’LICENSE’} s.author = {‘Maxud’=>’nuves101@gmail.com’} s.source = {:git =>’http://github.com’,:tag => s.version.to_s} s.social_media_url =’https://twitter.com/ ‘ s.ios.deployment_target =’7.0′ s.platform =:ios,’7.0’ […]

使用JENKINS在iOS中进行持续集成

JENKINS是一个开源自动化服务器,可用于自动化各种任务,例如构建,测试和部署软件。 它允许持续集成。 持续集成是一种开发实践,要求开发人员定期将代码集成到共享存储库中。 Jenkins将安装在您的服务器或本地系统上。 有关安装和配置的详细信息如下: 安装和配置: 要进行Jenkins的基本设置,自动化iOS构建,触发构建失败和稳定性电子邮件,以获取可下载的ipa,请执行以下步骤: 步骤1:下载JENKINS 对于MAC。 步骤2:打开Jenkins。 输入详细信息(用户名和密码)。 步骤3:单击管理Jenkins→管理插件→搜索插件并安装→重新启动jenkins→交叉检查已安装的插件。 注意:为svn和Xcode集成安装Subversion插件,以提供与xcode相关的设置。 第4步:返回Jenkins主页。单击New Item,输入Job name,选择freestyle project。单击OK。现在创建了作业。 第5步:点击您的工作,点击配置。 步骤6:我们现在将进行项目级别的配置,其中包括以下步骤: 通常,给项目名称。 在“源代码管理”部分中,选择Git或Subversion(根据您的需要,我使用了svn)→给出存储库url→输入svn的凭据。 在“构建触发器”中,选择“轮询SCM”以给出我们希望詹金斯检查提交更改并触发构建的时间间隔(例如:给15分钟的时间,我们将使用H / 15 * * * *)。 在添加构建步骤中,选择XCODE→输入要为其创建构建的目标的名称。 在“配置”中,根据项目的需要提供调试或发布模式。 要创建.ipa,请在常规构建设置中点击设置,然后选择打包应用程序并构建.ipa? →给出.ipa文件名模式(这是您要赋予ipa的名称)。 再次单击Add Build Step→Execute shell→write命令来执行脚本。 注意:脚本文件(.sh)应该保存在我们的詹金斯($ {JENKINS_HOME} / workspace)工作区中。 在Post-build Actions中,选择Archive theartifacts以获取可下载的ipa。这些文件(内部版本)是可下载文件,可以从jenkins主页访问。 注意:为避免与供应配置文件和证书有关的错误: 将供应配置文件复制到Jenkins用户文件夹。 供应配置文件位于文件夹/ YourUserName / Library / MobileDevice / Provisioning Profiles中, 例如:在我的机器中,配置文件位于/ […]

iOS开发设置:自定义终端

iTerm + zsh + Prezto + Powerlevel9k 这篇文章是有关设置iOS开发环境的系列文章的一部分。 随着时间的流逝,我已经对终端进行了调整,以提供易于理解的大量相关信息,无论何时何地都可以。 归根结底,我有一个系统,可以在其中轻松判断我正在使用哪个版本控制系统,我在哪个分支中以及我的状态(未暂存的文件,已暂存但未提交的文件等)。 我可以使用zsh / Prezto内置的自动完成和建议功能快速导航到其他分支或文件。 iTerm允许我打开多个选项卡,即时切换配置文件,并轻松更新和调整终端的外观。 iTerm,zsh和Prezto的功能很多。 另外-看起来很好。 为什么zsh是您的朋友:http://www.slideshare.net/jaguardesignstudio/why-zsh-is-cooler-than-your-shell-16194692 关于Prezto为什么是Oh-My-Zsh的绝佳替代品的一些信息:http://joshsymonds.com/blog/2014/06/12/shell-awesomenessness-with-prezto/ iTerm可以为您做什么:http://lifehacker.com/5857046/the-best-terminal-emulator-for-mac-os-x 这篇文章将介绍我如何自定义终端的外观和功能。 有无数种组合,以下仅是我当前为iOS开发配置终端的方式。 iTerm2是MacOS默认终端应用程序的首选终端替代品,我已使用可与zsh主题Powerlevel9k完美搭配的配色方案和字体对其进行了自定义。 最后有指向我的自定义zsh点文件的链接。 iTerm 安装iTerm并将其设置为默认终端应用程序。 我强烈建议您阅读文档以了解所有可用内容。 iTerm主题: iTerm带有多个内置主题,以及一个简单的“导入/导出”功能,可提供更多功能。 其他主题可以在Google-fu上找到。 导入主题新主题: 预览,选择并下载新主题。 iTerm批准的主题可以在以下位置找到:https://github.com/mbadolato/iTerm2-Color-Schemes。 导航到iTerm首选项,导入下载的主题,然后选择。 您可以在帖子顶部的屏幕截图中看到经过稍微调整的Chalkboard主题版本。 如果愿意,可以调整标准或自定义主题以适合您的需求,然后导出以与他人共享。 注意:您将需要在iTerm中打开一个新的标签或窗口来查看您的更改。 这对于字体,颜色以及您对终端外观进行的任何其他更改均适用。 iTerm字体: 我已经沿着几种不同的路径设置了一种可以与iTerm和Powerlevel9k一起使用的字体。 Powerlevel9k建议的方法是使用Awesome终端字体(此处有详细的教程),这是一种优雅的方法,但有时也很精致。 在3个不同的MacOS更新破坏了我的字体设置之后,我选择了一个更简单的解决方案。 从NerdFonts下载要尝试的修补字体 下载的内容可能包含不需要的额外字体(看着您,Windows兼容字体)—继续并删除您不需要安装的字体 安装要使用的字体。 我喜欢Powerline Nerd Font Complete的DejaVu Sans Mono,您可以在帖子顶部的屏幕截图中看到它的使用。 如果您想更进一步,请在MacOS的Font Book应用程序中组织新字体,以便于浏览。 在iTerm中,将字体更改为首选的修补Powerline字体: 进出口: 按照自己喜欢的方式设置iTerm后,就可以导出配置文件并将其保存在安全的地方,以进行备份或导入到另一个实例。 […]

我最终如何完成我的第一个副项目?

我编写了一个简单的命令行工具,用于从macOS终端将屏幕快照更新为Imgur。 在开发此工具时,我做了一些注释以供将来参考。 API整合 在花哨的项目中使用API​​是很常见的。 需要我们实施的真正的API转换实际上是有限的。 对于这个项目,我们只需要: 用户授权 刷新用户授权 开机自检图片 因此,最好列出所需的API,然后仔细编写可重用的函数。 束 处理项目的资源文件的路径非常令人困惑,因为二进制文件的工作目录在编译时和运行时可能会有所不同。 使用Bundle对构建项目的全面结构非常有帮助。 对于迅速的框架,macOS应用程序或iOS应用程序,Xcode将为您创建plist和一个简洁的Bundle。 但是,对于快速的CLI,我们可能需要对其进行一些配置。 如果要在运行时访问文件,则需要:1.转到项目2.选择目标3.在“ Build Phases添加“ New Copy File Phase 4.添加所需的文件 然后,您可以使用Bundle.main.path()搜索路径。 Bundle.main.path(forResource: “config”, ofType:”plist”) 读取配置文件? 再想一想 我当时是从Swift SPM构建项目的,但后来更改为使用XCode命令行工具项目,因为SPM不支持资源。 在实现Imgur的API时,我尝试使用网络框架Alamofire ,但是在CLI中安装它时遇到了很多麻烦。 此外,我发现“复制文件阶段”没有复制回文件,因此更新的配置将根本不会保存。 然后,我意识到我不需要从头开始读取用户配置,只要二进制文件可以访问我长期存储的配置文件即可。 最后,我放弃了XCode以使用SPM,并使用’Boundle`方法在产品目录中写入用户配置文件。 Bundle.main.bundleURL.appendingPathComponent(“config.plist”) 具有OAuth的API 对我来说,这个项目中最困难的部分是弄清楚如何在我的快速代码中转换Imgur的API。 我强烈推荐API模拟应用Postman。 使用独立的GUI测试API逻辑和参数要容易得多。 但是,即使我对POST请求使用了完全相同的标头和正文,我遇到的问题是“ URLRequest”和“ URLSession”不起作用。 这是我关于Stackoverflow的问题。 事实证明,主体数据有许多编码格式。 这是有关Stackoverflow的有用参考。 application / x-www-form-urlencoded→默认 multipart / form-data→输入文件时使用 文字/纯文字→不推荐 我在Postman中使用了“表单数据”格式,但在“ […]

Vectr —免费矢量图形软件—现在@ Mac App Store

嘿, 感谢您同意传播有关Vectr的消息! 🚀 Vectr是完全免费的,跨平台的,易于使用的新一代矢量图形软件。 我们今天将在Mac App Store上正式启动我们的应用程序,您的支持对我们而言至关重要。 在此媒体工具包中,您将找到有关Vectr的所有信息,我们最近在Mac App Store上发布的信息以及为何如此出色 ❤随时通过vlad@vectr.com给我们发送电子邮件, 以获取任何其他信息或疑问。 发布日期 -2017年2月21日,星期二 价格 — Vectr永久免费! 网站 — www.vectr.com Mac App Store链接: https : //itunes.apple.com/us/app/vectr/id1204645754 Mac App Store类别 —图形和设计 Twitter — @vectrlabs Facebook-fb.com/vectrlabs/ 什么是Vectr Vectr是一个免费的跨平台协作矢量图形编辑器,适用于Web和所有桌面平台:Mac,Windows,Linux和ChromeOS。 它使用方便,学习曲线极低,非常适合初学者和高级用户。 无论您是经验丰富的专业人士,还是只是第一次在设计中弄湿脚,都没关系-您将立竿见影地运行。 Vectr @ Mac App Store 在Mac App Store上启动是我们迈出的又一大步。 从市场上下载该应用程序后-一旦发布任何更新,Vectr就会在后台更新。 社交分享与合作 设计是一种社交活动,人们喜欢分享自己的创作,并希望立即收到反馈。 Vectr理解这一点,这就是为什么Vectr用户能够使用独特的URL将其项目直接发布到Facebook或Twitter上的原因,该URL允许其他人自己编辑该项目的副本,以及为什么在接下来的一年中我们将在Google-Docs喜欢将协作直接集成到编辑器中。 嵌入式编辑器 就在两周前,我们为WordPress启动了Vectr插件! 这是使用Vectr的嵌入式编辑器API构建的第一个插件。 在接下来的几个月中,我们将进一步推出插件,敬请期待! 😉 […]

Jirassic,时间追踪做对了!

当我被公司聘用并开始以敏捷的方式工作时,我还必须跟踪自己所做的一切,并在Jira时间表中进行报告。 我理解它们,但这对我来说真的很痛苦,我当时使用钢笔和贴纸来做,我忘了记笔记,松开它们或者它们不完整,所以最终我的报告只是一个猜谜游戏。 再加上我在月底将它们写到时间表中的事实,您可以看到令人沮丧的事情(时间表可能是最糟糕的软件)。 我决定结束这场混乱,开始写吉拉西奇。 我应该在应用程序中记录我完成的任务,他应该根据每个完成的任务的时间戳计算我在每个任务上花费的时间。 这个简单的想法立即消除了我的挫败感。 但这还不够,在2年的开发,使用和测试过程中,它演变成了一种产品。 现在可以: 自动跟踪我的任务,无需手动添加。 使用另一个名为Jit的工具基于git commit进行此操作,该工具也解决了其他一些问题。 跟踪每日Scrum会议。 也浪费时间 跟踪代码审核时间 追踪午餐时间 它基本上跟踪程序员将在工作中自动执行的所有操作。 每当您希望在Jira时间表中编写它们时,都可以转到“报告”选项卡,然后将粘贴好的任务分组复制并为您计算时间。 我正在自动执行此步骤,可能不容易或不可能,但我也会在可能的地方添加其他服务(如果有,请等待您的建议) 还有一个iOS应用程序也可以查看您的任务,专为Scrum会议而设计,您只需要查看它们即可,而无需进行编辑。 这是我的另一个问题,在Scrum会议中停电,我只是不记得自己在做什么。 我从一开始就使用Parse编写了这篇文章,直到Facebook杀死Parse为止,这一切都很轻松。 我花了一段时间没有iOS应用程序,所有内容都写得很差,无法切换后端。 当时,我们正在学习有关工作中的干净架构的知识,然后我立即开始在应用程序中应用这些概念。 现在,它在Mac上使用Sqlite,在iOS上使用CoreData和iCloud对其进行同步。 整个应用程序的体系结构允许我随时更改此位置。 代码在git上供个人使用。 谢谢,让我知道您的想法。 时间跟踪正确完成 Jirassic可以开箱即用地跟踪会议和午餐,但是如果您是程序员,则可以使它更多地自动化,您可以… www.jirassic.com ralcr / Jit Jit –连接到jira并通过仅指定任务号来创建分支的Git命令行工具 github.com Jirassic在Mac App Store上 阅读评论,比较客户评价,查看屏幕截图,并进一步了解Jirassic。 下载Mac OS X…的Jirassic… itunes.apple.com

如何在Mac上安装ZSH

本简短教程适用于初学者,他们正在学习什么是终端以及如何在应用程序开发过程中使用它。 – 向下滚动以找到ZSH安装的“分步说明” 。 让我们从术语开始。 默认情况下,终端使用Bash shell。 名为ZSH的外壳是终端的替代外壳。 Shell是您与之交互的命令行界面。 Shell的示例是BASH,CSH和ZSH。 Shell接受手动输入的命令,并告诉操作系统执行它们。 在此处了解有关终端,外壳和控制台的更多信息。 如果您是开发人员,则ZSH是一个不错的选择🙂由于它具有自动完成,更好的UX,简单的Git管理和许多其他功能,因此具有强大的功能。 有关安装ZSH的分步说明 打开terminal.app 注意:在您的发现者的聚光灯或搜索字段中找到它。 安装自制软件(简化安装的软件包管理软件)。 为此,请复制以下命令: /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” 并将其粘贴到您的终端中,然后按回车键。 然后,它将要求您键入Mac用户帐户的密码。 输入密码后,按返回键。 重要说明:请不要担心如果在键入时看不到输入的密码,则出于安全原因,终端会将其隐藏。 然后等到看到有关安装的成功消息。 注意:您会发现自制软件对于安装许多开发工具非常有用。 3.通过在终端中运行(复制>粘贴>按回车键)此命令来安装ZSH: brew install zsh zsh-completions 等到看到成功消息。 4.在zsh之上安装Oh My Zsh以获得其他功能: curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh 5.通过运行以下命令将您的shell从Bash切换到ZSH: chsh -s / bin / zsh 6.退出终端并重新打开,以重新启动终端。 您应该在终端应用程序的顶部栏中看到zsh单词: 7.您完成了:)享受!