AppCode 中开发 Mac OS X 应用程序或共享库的经验小结
2015-12-07 14:12
375 查看
AppCode 是 JetBrains 公司出品的用于开发 Mac OS X 及 iOS 应用程序的集成开发环境,只能运行于 Mac OS X 操作系统环境下,作为 XCode 的高级替代品。由于其基于 IntelliJ IDEA 相同的代码基础,自然继承了 IDEA 的优良传统,代码智能提示以及自动完成、重构等等不一而足。在实际开发过程中,如果涉及到一些 XCode 特有的可视化设计功能,AppCode 实际上是调用 XCode 来实现;而其他情况下,基本上就是 AppCode 独立实现的功能运行了。这里面有几点经验总结一下,以备查:
1、建议将 AppCode 的快捷键方案设置为 IDEA 方案,使用与 IDEA 基本相同的快捷键习惯,这样比较方便一点。当然你也可以将 AppCode 的快捷键方案设置为 XCode 方案,使用 XCode 习惯。
2、采用 IDEA 快捷键方案后,项目属性设置可通过快捷键 Command+; 快速切换出来,否则需要点击菜单“File”->“Project Settings...”来调出。在项目属性设置中,有几个比较关键的地方需要注意:(1)一般情况下,我们只需去具体设置一个项目的同名target的各种编译属性,不用去设置项目或者“Shared Settings”的全局默认属性。特别是在target的属性页部分,有一个“Build Phases”,用于对target编译所需的源代码文件以及Frameworks进行增删设置的,特别是源代码文件,有时候后添加进项目中的源代码文件,如果没有被增加到Build Phases的源代码列表中,那么这个源代码文件是不会被编译的!通过在AppCode中从project的项目文件树状列表将源代码文件拖放到Build Phases源代码列表中即可实现增加,点击列表左下角的“-”减号即可从源代码列表中删除选定的源代码文件。(2)如何增加编译器选项?编译器选项有时候很重要,需要单独添加指定的。但是默认情况下 AppCode 并未提供设置编译器选项的方式。其实有一个变通的办法——因为 AppCode 使用与 XCode 完全相同的项目文件组织方式,因此我们可以进入到项目的 .xcodeproj 目录内(这里假定项目名称为 abc,那么就会生成一个名为 abc.xcodeproj 的目录),用文本编辑器打开名为 project.pbxproj 的文件,找到包含有类似如下内容的地方:
这里要注意,第一行的十六进制字符串不一定是固定的,可能会随着不同的项目而变化。红色的两行是需要自己手工添加上去的,这其实是按照 cmake 的标准添加的编译器编译标识参数。添加完后保存该文件,在 AppCode 中重新打开这个项目就会看到 target 的 Build Settings 页面里面,在 User-Defined Settings 列表中多出了我们添加的那两个红色的编译器编译标识参数,你可以添加额外的编译标识参数了。
3、设置 target 的编译模式为 Release 或 Debug。默认情况下,target 的编译采用 Debug 模式,我们需要修改其为 Release 模式,可以通过快捷键 Alt+Shift+F10 然后在弹出的窗口菜单中选择“0”(Edit Configurations...)或者点击菜单“Run”->“Edit Configurations...”来为 target 创建编译运行配置,并选择 Release 模式即可。
4、target 编译产生的最终目的文件(比如可执行文件或者库)的位置虽然可以修改,但是这里推荐使用系统默认的路径。我们可以通过 AppCode 中的项目树状文件列表以快捷键 Command+Shift+C 来复制选中的最终目的文件,然后在终端中粘贴,用 cp 命令等方式去拷贝或进行其他操作等等。或者通过点击菜单“Run”->“Show Build Folder in Finder”来打开 target 编译产生的最终目的文件所在的文件夹进行各种复制粘贴等操作,还可以点击菜单“Run”->“Clean Build Folder”可以自动清空最终目的文件所在文件夹。当然,你可以为这两个菜单项设置快捷键,那么操作起来就更方便了。
1、建议将 AppCode 的快捷键方案设置为 IDEA 方案,使用与 IDEA 基本相同的快捷键习惯,这样比较方便一点。当然你也可以将 AppCode 的快捷键方案设置为 XCode 方案,使用 XCode 习惯。
2、采用 IDEA 快捷键方案后,项目属性设置可通过快捷键 Command+; 快速切换出来,否则需要点击菜单“File”->“Project Settings...”来调出。在项目属性设置中,有几个比较关键的地方需要注意:(1)一般情况下,我们只需去具体设置一个项目的同名target的各种编译属性,不用去设置项目或者“Shared Settings”的全局默认属性。特别是在target的属性页部分,有一个“Build Phases”,用于对target编译所需的源代码文件以及Frameworks进行增删设置的,特别是源代码文件,有时候后添加进项目中的源代码文件,如果没有被增加到Build Phases的源代码列表中,那么这个源代码文件是不会被编译的!通过在AppCode中从project的项目文件树状列表将源代码文件拖放到Build Phases源代码列表中即可实现增加,点击列表左下角的“-”减号即可从源代码列表中删除选定的源代码文件。(2)如何增加编译器选项?编译器选项有时候很重要,需要单独添加指定的。但是默认情况下 AppCode 并未提供设置编译器选项的方式。其实有一个变通的办法——因为 AppCode 使用与 XCode 完全相同的项目文件组织方式,因此我们可以进入到项目的 .xcodeproj 目录内(这里假定项目名称为 abc,那么就会生成一个名为 abc.xcodeproj 的目录),用文本编辑器打开名为 project.pbxproj 的文件,找到包含有类似如下内容的地方:
D0B815633AC0689B70BCBBB8 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSET_PACK_MANIFEST_URL_PREFIX = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; EXECUTABLE_PREFIX = lib; GCC_VERSION = ""; OTHER_CFLAGS = “”; 10 OTHER_CPLUSPLUSFLAGS = ""; OTHER_LDFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; };
这里要注意,第一行的十六进制字符串不一定是固定的,可能会随着不同的项目而变化。红色的两行是需要自己手工添加上去的,这其实是按照 cmake 的标准添加的编译器编译标识参数。添加完后保存该文件,在 AppCode 中重新打开这个项目就会看到 target 的 Build Settings 页面里面,在 User-Defined Settings 列表中多出了我们添加的那两个红色的编译器编译标识参数,你可以添加额外的编译标识参数了。
3、设置 target 的编译模式为 Release 或 Debug。默认情况下,target 的编译采用 Debug 模式,我们需要修改其为 Release 模式,可以通过快捷键 Alt+Shift+F10 然后在弹出的窗口菜单中选择“0”(Edit Configurations...)或者点击菜单“Run”->“Edit Configurations...”来为 target 创建编译运行配置,并选择 Release 模式即可。
4、target 编译产生的最终目的文件(比如可执行文件或者库)的位置虽然可以修改,但是这里推荐使用系统默认的路径。我们可以通过 AppCode 中的项目树状文件列表以快捷键 Command+Shift+C 来复制选中的最终目的文件,然后在终端中粘贴,用 cp 命令等方式去拷贝或进行其他操作等等。或者通过点击菜单“Run”->“Show Build Folder in Finder”来打开 target 编译产生的最终目的文件所在的文件夹进行各种复制粘贴等操作,还可以点击菜单“Run”->“Clean Build Folder”可以自动清空最终目的文件所在文件夹。当然,你可以为这两个菜单项设置快捷键,那么操作起来就更方便了。
相关文章推荐
- iOS 官方文档NSCalendar
- iOS开发之block(一)
- IOS 在viewController上添加视频
- Webview调用支付宝客户端
- iOS开发者们如何获取设备型号
- 【Android杂谈】科普一下_关于全栈工程师
- iOS自定义tabbar和仿安卓滑动效果可添加功能按钮
- android之csv导出
- VS Code 隐藏Unity的.meta文件
- iOS开发-ios7下拉刷新,上提加载快速集成
- Android控件之GridView初体验
- android手机上安装apk时出现解析包错误的一个解决办法
- PHP中Push(推送)技术,可拥有微信、站内通知等
- android之进度条
- 【Android学习之道】 图片手势放大
- 17个提升iOS开发效率的必用工具
- Rract Native Android 修改请求地址
- iOS相机选择器
- 151207 iOS之 nil null 和nsnull
- iOS---后台运行机制详解