macOS 应用程序中的捆绑命令行工具 — Sam Soffes

macOS 应用程序中的捆绑命令行工具 — Sam Soffes


发表于

我在航站楼度过了很多时间。在使用 Spotlight 或 Alfred 等工具之前,我会先在 Terminal 中实现一些功能。这是一个例子:

$ c so/bl
# cd ~/Code/soffes/blog
$ s

s 别名定义为:

这只是在我选择的编辑器 Sublime Text 中打开当前目录。 我真的很喜欢这让我能够如此快速地开始做某事。 我第一次使用 TextMate 遇到这种模式 mate 命令。太棒了。

对于威士忌(我在空闲时间使用的文本编辑器),我包含了一个命令行工具,它的功能与 subl 命令。对于习惯了这个工作流程并想用威士忌来做到这一点的人来说超级方便。

构建命令行应用程序

创建命令行应用程序非常简单。它只是一个二进制文件,因此您无法捆绑资源或框架。您可以将框架与路径链接起来(也许类似于 ../../Frameworks 在你的应用程序包中),但是如果有人移动你的二进制文件并破坏路径,这可能会很脆弱。我通常使用命令行工具调用主应用程序或静态链接任何共享代码以避免这种情况。

首先,您需要一个新目标。只需选择“命令行工具”macOS 模板即可。现在将您想要的任何内容放入此目标中。 要将内容打印到终端,只需使用 print 在斯威夫特.很容易。

捆绑您的应用程序

在命令行工具的目标中,将“跳过安装”更改为“是”。这将确保您的存档仅包含 Mac 应用程序,因为我们将自行捆绑它。如果您不这样做,您将无法将您的存档上传到 App Store、签署开发者 ID 等。

接下来,在您的 Mac 应用程序中,将命令行工具添加为“目标依赖项”之一。创建一个“新复制文件阶段”并将其命名为“嵌入命令行工具”。将复制阶段的目标设置为“共享支持”。现在,单击该阶段文件列表下的 +,然后从项目的“产品”组中选择二进制文件。就是这样!

现在,当您构建应用程序时,命令行工具将自动构建并复制到您的包中。您可以提供一些 UI 来复制它或更新其路径以将其包含给用户。

享受。

发表于

我正在开发一个带有颜色选择器的 Mac 应用程序。这是一个屏幕截图:

macOS 应用程序中的捆绑命令行工具 — Sam Soffes

为了实现此目的,我隐藏了光标并让自定义视图跟踪您的鼠标移动。 (当我说 光标 我的意思是你用鼠标控制的屏幕上的指针,当我说鼠标时,我指的是你的物理输入设备。)我使用全屏、无边框窗口, NSTrackingArea 来做到这一点。那里没什么太疯狂的。我这样做是为了避免处理定制a NSCursor 因为那是很多工作。

继续阅读 →



Source link

Postagens Similares

  • ஸ்பார்க்கியின் மேஜிக் பியானோ “ஆரஞ்சு ஜூஸ்” என்ற புதிய பாடலுடன் திரும்புகிறது

    ஸ்பார்க்கியின் மேஜிக் பியானோ “ஆரஞ்சு ஜூஸுடன்” திரும்புகிறது. புதிய இண்டி ராக் ட்யூன் உண்மையில் டபுள் ஏ-சைட் சிங்கிள் “கேயாஸ்/ஆரஞ்சு ஜூஸ்” இன் இரண்டாவது டிராக்காகும். … 2000 களின் நடுப்பகுதியில் கேரேஜ் மறுமலர்ச்சி ஆற்றலைப் படம்பிடிக்கும் ஒரு ரா மற்றும் ஸ்டிரிப்டு-பேக், ஏக்கம் நிறைந்த இண்டி ராக்கர். இது ஒரு ஏக்கம், தென்றல் போன்ற உணர்வைக் கொண்டுள்ளது, கிட்டார்களுடன் டைம் கேப்சூல் போல் செயல்படும், உங்களை 2000களின் நடுப்பகுதியில் UK இண்டிக்கு அழைத்துச் சென்றது. ஒளி,…

  • Jalan-jalan dan Bicara, Nagano Kiso-ji — Ridgeline edisi 219

    Garis Punggung Bukit pelanggan — Saya akan mati di bukit bodoh saya, tempat saya berkata: waktu terbaik untuk mengunjungi dan berjalan-jalan (sebagian besar) Jepang adalah akhir November dan awal Desember. Saya pikir banyak orang memiliki mentalitas Amerika Timur Laut, dimana saat bulan Desember tiba di New York City, salju sudah turun dan udara terasa terlalu…

  • La aventura como epistemología – Transmisión en vivo este jueves – Rune Soup

    ¡Aprovechemos al máximo mi desfase horario y volvamos a las transmisiones en vivo habituales la mañana después de que regrese a la granja! Pero todo es en serio, este tenso tema de los viajes sagrados, las aventuras y cosas así es claramente lo más importante. Así que únete a mí para eso, además de algunas…

  • X Live-Tweet, Chatbot Spam’lerine Karşı Gerçek Zamanlı Mücadelesini Gerçekleştiriyor

    X’in (eski adıyla Twitter) ürün başkanı Nikita Bier, Twitter’da spam hakkında bir dizi olağanüstü tweet yayınlayarak bazı spam gönderenlerin motivasyonunu açıkladı, spam türlerini açıkladı ve bazı spam gönderenlerin geniş ölçekte spam yanıtlarını otomatik olarak göndermek için Grok’u kullandığından bahsetti. Nikita Bier, spam önleme eylemlerini gerçek zamanlı olarak tweetleyerek 24 saat harcadı ve yapay zeka destekli…

  • లేట్-నైట్ Minecraft సెషన్స్ తర్వాత సోదరుడి బెస్ట్ ఫ్రెండ్‌పై క్రష్ నిజమైందని మహిళ చెప్పింది

    రెడ్‌డిట్‌లోని ఒక మహిళ Minecraft గేమ్ మరియు తన సోదరుడి బెస్ట్‌ఫ్రెండ్‌పై వెర్రి ప్రేమ ఎలా నిజమైన సంబంధంగా మారిందో షేర్ చేసిన తర్వాత వైరల్ అవుతోంది. సబ్‌రెడిట్ పోస్ట్ 22,000 కంటే ఎక్కువ అప్‌వోట్‌లను మరియు 900 కంటే ఎక్కువ వ్యాఖ్యలను పొందింది, ఇది ఆరోగ్యకరమైన కథనాన్ని జరుపుకుంటుంది. @Any_Fly278 ద్వారా వెళుతున్న 21 ఏళ్ల వినియోగదారు ప్రముఖ సబ్‌రెడిట్ ఫోరమ్ ‘గర్ల్ డిన్నర్ డైరీస్’లో తన కథనాన్ని పంచుకున్నారు. మహిళ యొక్క 25 ఏళ్ల…

  • 艾伦·贾米森 – “逼近”

    凤凰城的作曲家和画家 作者:艾伦·詹姆斯 继续他的情感沉浸式、类型模糊的发行 “正在接近,” 一个令人难以忘怀、深刻内省的新单曲,诞生于个人的剧变和创造性的重塑。这首歌结合了动态的合成器纹理、刺耳的吉他声、幽灵般的和声和庄严的抒情反思,捕捉到了情感崩溃和自我审视中转变的不安之美。 《Closing In》以广阔的大气魅力展开,随着空灵的纹理在郁郁葱葱的打击乐背景下闪闪发光,开启了充满合成器的神秘感。在贾米森庄严的声音下,偶尔闪现出刺耳的吉他声,用诸如此类的台词直面脆弱性 “有时候,生活在我自己的皮肤里是不够正确的。” 萦绕心头的和声为反复出现的声音提供了反射性的光芒 “再次逼近” 副歌在浓重的吉他口音和轻快的节奏运动中飘逸。空旷的合成音垫和交织的声乐层增强了情感张力,而内省的线条,如 “事后猜测的本能是在单行道上走错路” 加深歌曲的心理吸引力。 这首歌曲的起源可以追溯到 20 世纪 90 年代的丹麦,贾米森 (Jamisen) 在离婚后和深刻反省期间首次将《Closing In》写成一首诗。这些年来,他沉浸在自我反省和情绪恢复中,审视破坏性的个人模式,并试图更好地理解这段关系留下的情感残骸。这段经历催生了大量的创意写作,其中大部分都植根于治愈、身份和转变等主题。 多年后,这件作品在凤凰城通过一次意想不到的创意合作获得了新的生命。贾米森会见了法国音乐家、录音工程师和有抱负的制作人 奥利维尔·扎姆 在艺术家和创意专业人士经常光顾的酒店酒吧和餐厅。扎姆的欧洲情感立即引起了贾米森的共鸣,回想起他在丹麦生活的岁月,两人同意合作。 《Closing In》背后的歌曲创作过程标志着与贾米森一贯做法的重大背离。他没有先作曲,然后再创作歌词,而是向扎姆提供了现有的诗,并邀请他用音乐来诠释它。该实验为贾米森开辟了新的创作领域,让单词的情感分量和意象从一开始就引导声音方向。 在凤凰城完成音乐和主唱后,贾米森将项目带到洛杉矶,与资深制作人和工程师再次合作 约翰·X·沃莱蒂斯其作品包括与滚石乐队、Tracy Chapman、Bonnie Raitt 和 INXS 的 Michael Hutchence 的合作。在此期间,贾米森和沃莱蒂斯将女性和声融入到几张录音中,发现这种相互作用提升了材料的情感维度。 “Closing In”的其他声乐部分是在洛杉矶由 Volaitis 工程和联合制作人录制的,然后最终曲目返回凤凰城由 Zahm 进行混音。 其结果是一部引人注目的国际化作品,在情感上令人信服,无法轻易分类。 《逼近》大气而又直接,忧郁而又奇怪地令人振奋,将个人的混乱转化为电影般的普遍性。从本质上讲,这首歌反映了以更深刻的清晰度和完整的人性从情感毁灭中走出来的可能性——这一信息在不确定的时代越来越能引起共鸣。 “最终,《Closing In》是我参与过的最有价值的歌曲创作合作之一,”贾米森说。 “这是关于将困难的个人处境转化为一种超然的体验——这是一个永恒的信息,引起了当今许多人的共鸣,他们面临着在自己陷入困境的梦想中寻找一点体面的挑战。” 最近发布的版本包括 “美国摇滚” “我就是你” “必须做” “联盟”, 和 “这不是一个行为,” 贾米森继续开拓一个独特的艺术空间,在质感丰富的音景中,内省、实验和情感诚实共存。和…

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *