天道酬勤,学无止境

macos

如何从终端为用 Swift 编写的应用程序构建可执行文件?(How do I build an executable for an application written in Swift from the terminal?)

问题 我问的是如何在 Xcode 之外执行此操作。 在文本编辑器中编写的 Swift 脚本可以使用xcrun swift hello_world.swift或swift hello_world.swift 。 它们也可以设置为可执行文件并使用 shebang 运行。 这与 Python 等脚本语言相似。 但是由于 Swift 是一种编译语言,我确信必须有某种方法可以使用swift 、 clang等通过终端构建 Swift 可执行文件。有没有人发现任何关于此的信息? 我出人意料地什么也没发现。 回答1 你需要swiftc : % cat > hello.swift << EOF heredoc> println("Hello, world!") heredoc> EOF % swiftc hello.swift % ./hello Hello, world! % 如果你想编译多个文件,你想在启动时实际运行的文件需要被称为main.swift (在这种情况下你可能还想使用-o executablename )。 通过swiftc --help提供各种选项。 您最有可能使用的是-O来打开优化器。 此外,根据您的环境设置,如果您使用Foundation或其他 SDK,您可能需要使用xcrun -sdk macosx swiftc 。

2021-09-20 17:41:35    分类:技术分享    macos   swift   terminal

如何在mac上获取已安装的应用程序列表(How to get list of installed applications on mac)

问题 我需要获取 leopard/snow leopard 上已安装应用程序的列表。 任何人都可以建议我如何使用我的可可应用程序获取已安装应用程序的列表。 我曾尝试使用“system_profiler SPApplicationsDataType”。 问题在于它只列出了 *.app 文件,其中也包括驱动程序。 有没有办法只获取“已安装的应用程序”列表。 回答1 您可以使用system_profiler -xml SPApplicationsDataType ,然后解析生成的 XML 数据以获取您感兴趣的应用程序。

2021-09-20 17:25:07    分类:技术分享    cocoa   macos   osx-snow-leopard

如何获得 zipalign for mac?(How to get zipalign for mac?)

问题 我已经有一个未签名的发行版 apk,我正在尝试在我的 mac 上签名。 在最后一步,它建议对已签名的 apk 进行 zipalign,但 mac 没有 zipalign。 我做了 'brew search' 仍然找不到它。 我在网上搜索,找不到独立的 zipalign 脚本。 我什至从 http://developer.android.com/sdk/index.html#Other 下载了大约 90M 的 Android sdk 工具,但仍然没有发现里面有 zipalign。 所以我的问题是,给你一个“apk”文件在mac上签名,如何完成最后一个“zipalign”步骤? 回答1 感谢 RC 提供的信息。 我终于熬过了这一切。 我做了以下步骤: 从官方网站下载 250M+ android studio ide dmg。 将其拖入应用程序文件夹打开它,它会自动下载很多额外的东西我什至创建了一个空的新项目。 然后在某些步骤(我不确定是哪一步)它在这里创建了 zipalign: ~/Library/Android/sdk/build-tools/22.0.1/zipalign 如果您只需要“zipalign”,则不需要重做这些步骤,这会占用时间和磁盘空间。 我把它解压到了 github(不敢相信没有人解压过 -_-): https://github.com/catccaatt

2021-09-20 15:25:18    分类:技术分享    macos   zipalign

如何使用 applescript 在 os x 中自定义通知(How to customise notification in os x using applescript)

问题 假设我有一个文件sometext.txt 。 我想这个txt文件的内容中,我会触发使用通知露面displaynotification中applescript 。 换句话说,我希望能够: display notification "File's content" with title "Title" 。 我该怎么做? 假设sometext.txt和applescript文件在同一目录下。 回答1 目标使用与此脚本位于同一文件夹中的文件中的文本触发通知。 笔记在执行之前,请保存脚本,因为当脚本未保存时,组合路径指向“~/Library/Autosave Information/”文件夹(未保存脚本所在的位置)甚至指向“/Applications/Utilities/”(脚本所在的位置) - 编辑是)。 用法如果某些事情不是 100% 正常,脚本会发出哔哔声(当 'errBeep' 为真时)并在通知中显示状态。 当找不到文本文件时,脚本会要求自动创建。 如果文本文件为空,您会收到通知并打开文件。 如果文本的长度大于allowedCharactersCount (默认 65),则可以在触发通知之前执行某些操作。 (* *** please customize the appropriate parts *** *) -- -------------------------------

2021-09-20 13:59:41    分类:技术分享    macos   notifications   applescript

C++重复符号(C++ duplicate symbols)

问题 (苹果电脑) 我试过命名空间,包括守卫,pragma once 等。 基本上,这是结构: CMakeLists.txt add_executable(Game Game/main.cpp Game/rtexture.cpp) 游戏/main.cpp #include "cleanup.h" //... cleanup(foobar); 游戏/rtexture.cpp #include "cleanup.h" //... cleanup(foobar); 清理.h //various includes template<typename T, typename... Args> void cleanup(T *t, Args&&... args){ //Cleanup the first item in the list cleanup(t); //Recurse to clean up the remaining arguments cleanup(std::forward<Args>(args)...); } /* * These specializations serve to free the passed argument and also provide the * base cases for the recursive call above, eg. when

2021-09-20 13:41:47    分类:技术分享    c++   macos   cmake   duplicates

Cocoapods - 无效的符号链接(标题)阻止提交到 App Store(Cocoapods - Invalid symlinks (Headers) prevents submission to App Store)

问题 尝试提交 osx 应用程序时出现以下错误: 我们发现您最近交付的“Planiro Tracker”存在一个或多个问题。 要处理您的交货,必须更正以下问题: 符号链接无效 - 您的包裹包含符号链接“com.droidlabs.PlaniroTracker.pkg/Payload/PlaniroTracker.app/Contents/Frameworks/Alamofire.framework/Headers”,该链接解析为“com.droidlabs.PlaniroTracker.pkg/Payload/” PlaniroTracker.app/Contents/Frameworks/Alamofire.framework/Versions/Current/Headers' 不存在或在包之外。 符号链接无效 - 您的包裹包含符号链接“com.droidlabs.PlaniroTracker.pkg/Payload/PlaniroTracker.app/Contents/Frameworks/PromiseKit.framework/Headers”,该链接解析为“com.droidlabs.PlaniroTracker.pkg/Payload/” PlaniroTracker.app/Contents/Frameworks/PromiseKit.framework

2021-09-20 12:56:25    分类:技术分享    macos   swift   cocoapods

OSX 安全性 find-identity 在 ssh-ed 机器中找不到身份(OSX security find-identity can't find identities in ssh-ed machine)

问题 我正在从我的 OSX(10.10.3) 机器 ssh-ing 到otherosx OSX (10.10.3) 机器以构建一个 mac 应用程序。 ssh user@otherosx 然后在otherosx我尝试导入这样的身份: security default-keychain -s /path/to/my/login.keychain security unlock-keychain security import my_identity.p12 -P passphrase 然后我试图找到我的身份: security find-identity 我明白了: Policy: X.509 Basic Matching identities 0 identities found Valid identities only 0 valid identities found 有谁知道如何解决这一问题? 有没有人遇到过同样的问题? 附注。 在解锁钥匙串和搜索身份之前,我还尝试了所有地方的完整路径和security list-keychains -s /path/to/my/login.keychain 。 回答1 好吧,看来如果你这样导入: security import my_identity.p12 -k /path/to/my/login.keychain -P

2021-09-20 12:16:16    分类:技术分享    macos   ssh   keychain

仪器应用程序无法打开跟踪模板文件(Instruments application can't open tracetemplate file)

问题 当我打开“Instruments”应用程序并尝试为我的模拟器(Time Profiler 或任何其他)选择任何模板时,我会从“/Applications/Xcode.app/Contents/Applications/Instruments.app”中获取包含所有可能的跟踪模板文件的“Import Trace”窗口/Contents/Resources/templates 的目录。 然后我选择任何一个,然后我收到警报消息“无法打开文档“Time Profiler.tracetemplate”。 但在命令行仪器中工作正常。 我怎样才能找到这种行为的原因? 同样从控制台应用程序日志中我得到:“appleeventsd(62) deny file-read-metadata /Library” 回答1 在新的 Apple 开发者论坛中找到了解决方案。 从终端运行: sudo chmod a+rwxt /Library/Caches/com.apple.dt.instruments https://forums.developer.apple.com/thread/6441 了解更多信息。 回答2 删除此文件夹对我有帮助。 /Library/Application Support/Instruments

2021-09-20 12:16:06    分类:技术分享    ios   macos   instruments

在 OSX 10.10.3 中导入单个证书后出现重复身份(Duplicate identity after importing single certificate in OSX 10.10.3)

问题 操作系统似乎错误地列出了多个身份,即使只安装了一个。 这是我的钥匙串(安全列表-钥匙串) "/Users/mateuscb/Library/Keychains/login.keychain" "/Library/Keychains/System.keychain" 我列出了身份,它返回的身份为零。 然后我通过以下命令行导入它: security import "~/mycert.p12" -k "/Users/mateuscb/Library/Keychains/login.keychain" -t cert -f pkcs12 -P password` 当我列出身份时,我现在得到这个( security find-identity ): Valid identities only 1) 7E0B7E829EBF27EEC57CC796F948D7C2D9A91330 "Developer ID Application: The Company Inc." 2) 7E0B7E829EBF27EEC57CC796F948D7C2D9A91330 "Developer ID Application: The Company Inc." 更奇怪的是,如果指定钥匙串,我只会得到一个( security find-identity login.keychain )。 System

2021-09-20 11:41:53    分类:技术分享    macos   import   certificate

Hello World 程序中的“无法识别的字符 \xE2”(“Unrecognized character \xE2” in a Hello World program)

问题 我正在尝试在 Mac OS X Yosemite 上编写我的第一个 perl“hello world”程序,当我尝试使用终端运行它时显示此错误: Unrecognized character \xE2; marked by <-- HERE after print <-- HERE near column 7 at test.pl line 4. 我无法弄清楚这个程序有什么问题。 请帮帮我。 代码: #!/usr/bin/perl use strict; use warnings; print “Hello world”; 回答1 改变 “” 打印语句中的字符 ” 例子 print "Hello world"; 回答2 确保像这样的语法 ' 应该是正确的。 检查您的 perl 文件是否存在语法错误 perl -c testfile.pl 回答3 虽然它与这种情况没有直接关系,但也有一种不同的情况会出现\xE2错误,这似乎并不明显。 还可以在其字符串中包含零宽​​度空格,这也会引发此错误。 我在记事本或记事本++中看不到这个字符,但我可以在vim中看到它<200b> 。 从例如 Microsoft Teams 复制内容时,可以将此字符放置在{和}字符旁边。 搜索此类问题时,此链接显示为第一个链接,因此我认为将解决方案发布到此处可能是个好主意。

2021-09-20 10:52:15    分类:技术分享    macos   perl   osx-yosemite