xcode中同一project创建多个target

xcode中同一project创建多个target

 

新的Target

1 利用复制创建target

我们在XCode左侧的列表中, 展开 Targets 项, 在现有的target上, 右键选择"Duplicate"

计算机生成了可选文字:PROJECT Pacs TARGETS pacsdoc pacsdoc_test Basic Duplicate Delete General Combined Setting Levels Analyze During 'Build' Mode of Analysis for 'Analyze' Mode of Analysis for 'Build' Project Editor Help Improper Memory Management Misuse of Grand Central Dispatch

此时我们就得到了一个新的target, 而在Resource里面也会得到一个 xxxx copy.plist.这个新的target与原有的target是完全一致的, 余下的就是一些差异化的修改。我目前使用到的主要是这种方法。

2.创建全新的target

直接File - New - Add - Target

计算机生成了可选文字:Xcode nPacs n PacsTes Framewo Products Podfile Frame Products Targets S Pods- Pods- File Edit View Find New Add Files to "pacs" Open.. Open Recent Open Quickly... Close Window Close Tab Close "pacs.xcodeproj" Close Workspace Save Duplicate... Revert to Saved... Unlock... Export... Show in Finder Open with External Editor Save As Workspace... Workspace Settings... Page Setup... print... Navigate osgo Asew -c sew Editor Product Debug Source Control Basic Wind Tab Window File... Playground... Target... Project... Workspace... Group x-a-*ßN Setting Analyze Du Mode of Mode of Static Analyzer - Gen Setting Dead Store: mproper Misuse of C Static Analyzer - Issu Setting @synchroni Improper H' Method Sig Misuse of Unused Ival Violation of Violation of Group from Selection

或者直接点target栏左下角的 加号

计算机生成了可选文字:Basic Settin Ana lyi Mode Mode Static Analyzer Settin Misus Static Analyzer Settin @sync Metho Misus• Violati Violati Static Analyzer Settin Floatir Misus Unchc User-Defined Settin PODS PROJECT Pacs TARGETS pacsdoc pacsdoc_test e Filter

点击后, 首先会让你选择target的类型, 既然我一直所指的都是程序本身,那么自然选择Application了(至于其他的嘛, 有兴趣的自己研究吧, 比如我们可以把程序中的部分提取成一个Static Library).

Next后, 会让你输入一个新的Target的名字, 而不像复制的方法中, 默认生成 xxxxxcopy这样的target名.

但是这样生成出的Target几乎是空的。可以通过拖拽内容到这些target的设置中,以及调整编译选项来完成Target的配置.(这种方法我木有用过。。)

3.执行不同的target

xcode左上角RUNSTOP的右边可以选择执行的target和设备,选择对应的即可

计算机生成了可选文字:soed q oopsoed

 

计算机生成了可选文字:nPacs pacsdoc pacspro pacsdoc_test pacspro_test Edit Scheme... h AppDeIegate.h New Scheme... m AppDeIegate.m Manage Schemes... pro_te st doc_test

 

Targets之间的个性化设置

即使代码是同一份, 但编译设置(比如编译条件),以及包含的资源文件却可以有很大的差别,产出的product也可能大不相同。不同target可以包含不同的资源,包括程序的主图标等, 而不是把XCode的工程中列出的资源一股脑的包含进去。

而这还不是一个target所指定的全部内容. 每个target可以使用一个独立、 不同的Info.plist文件。

我们都知道, 这个Info.plist文件内定义了一个项目的很多关键性内容, 比如程序名称,最终生成product的全局唯一id等等。

而且不同的target还可以定义完整的差异化的编译设置,从简单的调整优化选项,到增加条件编译所使用的编译条件,以至于所使用的baseSDK都可以差异化指定。

我们来举几个典型的应用多Targets的情况吧,比如完整版和lite版;比如同一个游戏的20关,30关,50关版;再或者比如同一个游戏换些资源和名字就当新游戏卖的。。。

在新建的target中就可以选择自己独立的设置,如屏BundleID,幕旋转方向,app名称等,这样不同的target就区别开来

计算机生成了可选文字:TARGETS Document Types Exported UT's (O) Imported UT's (O) Bundle name Localized resources can be mixed Localization native development region Bundle version Bundle OS Type code 301Support Bundle versions string, short App Transport Security Settings nfoDictionary version Required device capabilities Executable file Supported interface orientations (ipad) View controller-based status bar app„ Bundle identifier Bundle creator OS Type code displayLockWhenBecomeActive Application requires iPhone environm... Supported Interface orientations Item O Item I Item 2 Bundle display name String Boolean String String String Boolean String Dictionary String Array String Array Boolean String String Boolean Coolean Array String String String String SIPRODUCT_NAME) YES 11.1717 APPL 38.1 (I item) (I item) NEXECUTABLE_NAME) (3 items) YES YES 3 Items Landscape (right home button) Portrait (bottom home button) Landscape (left home button)

最主要的,可以设置标记。在BuildSettingsPreprocessor Macros项目中可以设置标记。其效果相当于全局的#define xxxx,这样就可以在代码中通过#ifdef - #else - #end的方法来根据不同标记的target来执行不同的代码。如我们项目中有两个target,主要用于区分不同的服务器,一个测试服务器,一个正式服务器(因为不同服务器中的数据不同,正式服务器数据重要,测试起来危险,所以设置了测试服务器)。这样设置一个TESTMODEL的标记,DebugRelease都需要设置

计算机生成了可选文字:Language - pacsdoc_test Setting Ject•ve pacsdoc_test Yes v Yes v Yes v pacsdoc_test KMuItipIe values* C Yes v c Multiple values 5 O DEBUG-I TESTMODEL SD_WEBP SD WEBP TESTMO Enable Objective-C Exceptions mplicitly Link Objective-C Runtime Support Objective-C Automatic Reference Counting Apple LLVM 7.0 - Preprocessing Setting Enable Foundation Assertions Debug Rel ease Enable Strict Checking of obic_msgSend Calls Preprocessor Macros Release Preprocessor Macros Not used In Precompiled Headers DEBUG—I TESTMODEL D_WEÜ Apple LLVM 7.0 - Warning Policies Setting

然后在代码中就可以区分

计算机生成了可选文字:NSString #ifdef TESTYODEL return *else return #endif 2.3 + (NSString #ifdef TESTYODEL return *else return #endif

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
【6层】4837.9平米六层框架综合办公楼(含计算书、建筑、结构图纸) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值