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 的文件,找到包含有类似如下内容的地方:

 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”可以自动清空最终目的文件所在文件夹。当然,你可以为这两个菜单项设置快捷键,那么操作起来就更方便了。

AppCode 中开发 Mac OS X 应用程序或共享库的经验小结的更多相关文章

  1. 什么是Nib文件?(Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口)

    Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口.Nib文件是Interface Builder文档.通常您会使用Interface Builder ...

  2. 能在xcode5中开发基于IOS7sdk的应用程序兼容ios4.3之后的系统吗?

    能在xcode5中开发基于IOS7sdk的应用程序兼容ios4.3之后的系统吗?

  3. 在VMware虚拟机中安装Mac OS 操作系统

    1. 安装VMware 我这里是安装VMWARE12.exe,其他的版本我不知道是否可以正常运行,最好大家安装12版本的比较好. 2. 安装 Mac OS X Unlocker for VMware ...

  4. 设置 VMware 中的 Mac OS 虚拟机进入 Recovery 模式

    Ø  简介 本文主要介绍 VMware 中的 Mac OS 虚拟机如何进入 Recovery 模式的方法,具体步骤如下: 1.   选择 Mac OS 虚拟机,点击"打开电源是进入固件&qu ...

  5. Linux:32/64位程序(应用程序、共享库、内核模块)

    摘要: Linux系统区分32/64位,相应地,应用程序.共享库和内核模块也区分32/64位. 本文以Ubuntu系统为例,介绍如何编译和使用32/64位的应用程序.共享库和内核模块. 1. 应用程序 ...

  6. 在VMware中安装Mac OS

    macOS与Darwin http://blog.csdn.net/hintcnuie/article/details/38468093 OS X 是整个操作系统的一个集体名称.而Darwin 就是其 ...

  7. 虚拟机中安装MAC OS X教程(适用所有电脑方法,特别是cpu不支持硬件虚拟化的电脑)

    前言 之前写了一篇在Windows上搭建Object-C开发环境,并且写了一个HelloWorld程序.但真正开发苹果软件是在MAC OS X系统中(以下简称OSX)中.买不起MacBook,也没有O ...

  8. 在VMware Workstation 9中安装Mac OS X 10.8 Mountain Lion

    本文环境: CPU:Intel Core i7 920: OS:Windows 7: 内存:8G: 玩Hackintosh各有各的理由,不管什么理由,利用虚拟机安装Mac OS X都是一个可行的办法. ...

  9. vmware 12中安装MAC OS X Lion 10.7

    下载并安装vmware.    下载并安装MAC补丁.    创建虚拟机.    设置ISO文件.    开启虚拟机.    安装vmware tools. 1. 下载并安装vmware.我是直接在腾 ...

随机推荐

  1. NOIP2018 - 暑期博客整理

    暑假写的一些博客复习一遍.顺便再写一遍或者以现在的角度补充一点东西. 盛暑七月 初涉基环外向树dp&&bzoj1040: [ZJOI2008]骑士 比较经典的基环外向树dp.可以借鉴的 ...

  2. 【树形dp】bzoj4726: [POI2017]Sabota?

    找点概率期望的题做一做 Description 某个公司有n个人, 上下级关系构成了一个有根树.其中有个人是叛徒(这个人不知道是谁).对于一个人, 如果他 下属(直接或者间接, 不包括他自己)中叛徒占 ...

  3. Voyager下的关系模型

    关系:一个用户有几件商品,对应User表和Products表 在Products表下添加字段,user_id 打开products下的bread,点击Create Relationship Produ ...

  4. python爬虫: 豆瓣电影top250数据分析

    转载博客 https://segmentfault.com/a/1190000005920679 根据自己的环境修改并配置mysql数据库 系统:Mac OS X 10.11 python 2.7 m ...

  5. 中移物联网onenet入门学习笔记1:资料获取

    onenet学习资料.视频.例程汇总:https://open.iot.10086.cn/bbs/thread-977-1-1.html onenet开发文档:https://open.iot.100 ...

  6. 30、自定义gridview

    要想实现自定义gridview效果,有下边几个步骤: 1.定义grivew中的item的xml文件 假如item需要显示一个图片,图片下边显示文字: <?xml version="1. ...

  7. python - work5 - 类与对象 - 拓展题

    ''' 5:购物车类,包含的功能如下,请自行设计这个类以及类里面的方法:1)用户输入工资后,打印商品列表(商品列表自行设计展示模式)2)允许用户根据商品编号去选择商品3)用户选择商品后,检查余额是否足 ...

  8. Latex数学公式表

    1. Latex的两种公式模式 行间(inline)模式:即在正文中插入数学内容.行间公式用$ … $ 独立(display)模式:独立成行,可以有或没有编号.无编号用\ [ … \ ] 2.基本元素 ...

  9. [git 学习篇] 修改文件

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743858312764d ...

  10. 组合数学之Polya计数 TOJ1116 Let it Bead

    1116: Let it Bead  Time Limit(Common/Java):1000MS/10000MS     Memory Limit:65536KByteTotal Submit: 7 ...