LetsMove
这是一个示例项目,展示了如何将正在运行的 Mac OS X 应用程序移动到应用程序文件夹中。
要求
在 Mac OS X 10.6 或更高版本上构建和运行。不支持沙盒应用程序。
用法
选项 1
构建然后将 LetsMove.framework 嵌入您的应用程序。
选项 2
将以下文件复制到您的项目中
- PFMoveApplication.h
- PFMoveApplication.m
如果您的项目启用了 ARC,您需要在上述文件上禁用 ARC。您可以通过向 PFMoveApplication.m 源文件添加 -fno-objc-arc 编译器标志来完成此操作。有关详细信息,请参阅 http://stackoverflow.com/questions/6646052/how-can-i-disable-arc-for-a-single-file-in-a-project/6658549#6658549
如果您的应用程序已本地化,还需要将 'MoveApplication.string' 文件复制到您的项目中。
将您的应用程序链接到 Security.framework。
在您的应用程序代理的 "-[应用程序将于即将完成启动:]" 方法中,在顶部调用 PFMoveToApplicationsFolderIfNecessary 函数。
许可
公有领域
版本历史
-
1.25
- 添加希腊语和越南语本地化
- 更新项目以兼容Xcode 11.5
-
1.24
- 添加PFMoveIsInProgress函数
- 更新项目以兼容Xcode 9.1
-
1.23
- 修复当构建为框架时本地化不被使用的问题
- 修复与OS X 10.9及更早版本不兼容的问题
- 使其可用于基于Electron的应用或其他无法访问主线程调度队列的应用
- 更新俄语本地化
-
1.22
- 修复将应用程序复制到macOS Sierra的/Applications文件夹后未删除或移至废纸篓的问题
-
1.21
- 添加对Carthage的支持
- 项目现在支持OS X 10.6及以上版本
-
1.20
- 支持包含在其他应用程序中的应用程序
- 略有更新巴西葡萄牙语本地化
- 修复构建警告
-
1.19
- 添加斯洛伐克语本地化
-
1.18
- 添加加泰罗尼亚语本地化
-
1.17
- 添加繁体中文本地化
-
1.16
- 解决当最小部署目标设置为OS X 10.10时出现的弃用警告
-
1.15
- 添加瑞典语本地化
-
1.14
- 添加匈牙利语、塞尔维亚语和土耳其语本地化
- 添加马其顿语本地化
-
1.13
- 添加波兰语本地化
-
1.12
- 使用基于国家代码的.lproj目录
- 使项目能够在不使用预编译头的情况下导入AppKit.framework进行编译
- 微调荷兰语本地化
- 在示例项目中修复警告
-
1.11
- Objective-C++兼容性
-
1.10
- 解决当针对OS X 10.9 SDK构建时出现的弃用警告
-
1.9
- 移除对OS X 10.4的支持
- 正确检测运行的应用程序是否在磁盘镜像中
- 修复一个错误,如果应用程序的名称包含引号,则无法移动应用程序
- 在成功移动后,删除应用程序而不是将其移动到废纸篓
- 其他修复和改进
-
1.8
- 如果应用程序已在应用程序文件夹中但不可写,则从用户请求身份验证
- 添加韩语本地化
-
1.7.2
- 修复可能出现的异常
-
1.7.1
- 重构
-
1.7
- 只有当应用程序已在其中时才将其移动到~/Applications目录
-
1.6.3
- 在10.7中被弃用的函数调用不再导致编译时警告
- 添加简体中文和欧洲葡萄牙语本地化
-
1.6.2
- 添加垃圾回收兼容性
- 使用新的方法检查在Mac OS X 10.6系统或更高版本上是否已有应用程序运行
-
1.6.1
- 使用exit(0)在重新启动应用程序之前终止应用程序,而不是调用[NSApp terminate:]。我们不希望调用applicationShouldTerminate或applicationWillTerminate NSApplication代理方法,以免引入副作用。
-
1.6
- 在查找应用程序目录时解析任何别名
-
1.5.2
- 对代码进行了一些清理。几乎与1.5.1版本功能上等效。
-
1.5.1
- 修复了在macOS X 10.5上清除隔离文件属性时的一个错误
-
1.5
- 如果路径中包含“应用程序”,则不要提示移动该应用程序
-
1.4
- Mac OS X 10.5 兼容性修复
-
1.3
- 修复了检查应用程序是否已运行的壳脚本中的罕见错误
- 复制后清除隔离标志
- 编译时选项以显示标准尺寸的警报抑制复选框按钮
- 添加了德语、丹麦语和挪威语本地化
-
1.2
- 从磁盘映像复制应用程序然后卸载磁盘映像
- 西班牙语、法语、荷兰语和俄语本地化
-
1.1
- 如果存在,使用~/Applications而不是/Applications
- Esc键按下“不移动”按钮
-
1.0
- 首次发布
代码贡献者
- Andy Kim
- John Brayton
- Chad Sellers
- Kevin LaCoste
- Rasmus Andersson
- Timothy J. Wood
- Matt Gallagher
- Whitney Young
- Nick Moore
- Nicholas Riley
- Matt Prowse
- Maxim Ananov
- Charlie Stigler
翻译者
- Eita Hayashi (日语)
- Gleb M. Borisov, Maxim Ananov (俄语)
- Wouter Broekhof (荷兰语)
- Rasmus Andersson / Spotify (法语和西班牙语)
- Markus Kirschner (德语)
- Fredrik Nannestad (丹麦语)
- Georg Alexander Bøe (挪威语)
- Marco Improda (意大利语)
- Venj Chu (简体中文)
- Sérgio Miranda (欧洲葡萄牙语)
- Victor Figueiredo and BR Lingo (巴西葡萄牙语)
- AppLingua (韩语)
- Czech X Team (捷克语)
- Marek Telecki (波兰语)
- Petar Vlahu (马其顿语)
- Václav Slavík (匈牙利语、塞尔维亚语和土耳其语)
- Erik Vikström (瑞典语)
- Inndy Lin (繁体中文)
- aONe (加泰罗尼亚语)
- Marek Hrusovsky (斯洛伐克语)
- Sotirios Papathanasiou (希腊语)
- Minh-Ton (越南语)