将目标添加到Xcode项目

将目标添加到Xcode项目

问题描述:

我有一个iPhone应用程序,它目前在应用程序商店中。我想要制作完全相同的应用程序,但免费且具有广告功能。将目标添加到Xcode项目

我的计划是有效地复制项目,创建一个新项目并将广告添加到代码中并作为单独的应用程序发布。然而,有人提到最好的解决方案是将额外的目标添加到现有的应用程序中,在运行时提供两个二进制文件。

似乎对我来说是一个很好的解决方案,但是我对如何改变代码以将广告内置到新目标中并保持原始状态不变感到有点困惑?

我跟着this教程,虽然老了,基本上是对的Xcode 4相同的我复制目标和P列表,确保我能够有改动运行它,并没有影响到完整版本的目标。

然后我复制了不同的.xib文件。如果您在项目设置下查看,可以在某处找到允许您选择包含哪些资源的列表。 lite版本中包含lite版本的xib,以及完整版本分别包含在完整版本中。然后你将能够编辑每一个而不影响其他。

图标和图像可以用同样的方法改变。只需创建精简版版本图标集或其他图像集,并将精简版图标包含在精简版目标的资源设置中,而不是完整版的图像。

此外,您将需要创建一些预处理器宏。在构建选项卡中查找它们,并为每个预处理选项 - 调试,分发和发布创建一个名为LITE_VERSION的宏(或者任何你想要的,它并不重要)

允许您在同一个.h和.m文件中添加不同的代码。只需使用

#ifdef LITE_VERSION 
// Lite version only code here 
#endif 

将两者分开。您也可以使用#ifndef LITE_VERSION仅向完整版添加代码。

就是这样!完成上述所有步骤后,您应该能够编辑lite版本的.xib文件,仅将代码放入Lite或完整版本,并为每个文件分别提供不同的图像和图标。

+0

谢谢。我将通过该教程。赞赏。 –

+1

在Xcode 4下,看起来不同,不幸的是,互联网上的所有文章和博客文章似乎都是指Xcode3。在Xcode 4下,当您复制目标时,info.plist文件不会自动被复制,而且我可以找到一种方法来生成两个单独的工作plist文件,每个目标文件一个。 –

+0

我无法弄清楚如何自动完成,但是复制第一个并重命名它并不难。 –

XenElement的答案是正确的。但你应该看到最好的做法。你应该有一个标识符类来检查目标。如果你在代码中的任何地方使用宏,它对你和其他开发者来说似乎也不会有好处。在this little blog post中,您可以看到如何创建这种类型的标识符类并学习一些关于xcode中的目标的最佳实践。

我跟着这个Just2us: How to create multiple targets for Xcode iPhone Projects教程。

我决定用Stu的线索更改第3步,在付费版本中明确设置FULL_VERSION。

“为了解决没有意外的关注LITE​​_VERSION定义为宏预处理器(从而释放出一个完整版意外),我把这个代码小片段在头文件(它只是需要某处代码库,只要确保是共同的所有配置)“:

#ifndef LITE_VERSION 
    #ifndef FULL_VERSION 
     #error You probably forgot to specify if this is the Lite or Full version of the app 
    #endif 
#endif 

PS:我写上面右边的代码在AppDelegate中的#进口后。