标签: xcode-workspace

如何在 xcodebuild 中添加多个方案?

我只在终端中构建 xcode 工作区(xcodebuild - 内部构建)。它有五个方案。但是,一次我只能构建一个方案。我想一次建立所有的计划。一个工作空间可能有多个方案。

xcodebuild xcode-scheme xcode5 xcode-workspace

5
推荐指数
1
解决办法
1486
查看次数

具有多个项目的工作区中的 Xcode 构建配置

使用 Xcode 7.2 (7C68)、OS X 10.11.2 (15C50)

tl;dr对于同一 Xcode 工作区中的多个项目,为什么我的构建配置的用户定义构建设置似乎不起作用?我在方案中正确设置了它们,但是当在模拟器上运行时,这些值是正确的;在设备上运行时,值是错误的。

你好。我正在尝试利用 Xcode 构建配置(.xcconfig 文件)来根据环境自定义应用程序的行为。这样我们就可以根据方案的构建配置自动在集成 URL 和生产 URL 之间切换。然而,我在让它正常工作时遇到了一些困难;我认为我的工作空间布局可能是罪魁祸首。这是布局/结构:

  • Xcode 工作区
    • iOS 应用程序项目(2 个目标:应用程序、测试)
    • Cocoa Touch Framework 项目(2 个目标:框架、测试)

现在,我为每个项目都有以下 .xcconfig 文件:

  • Debug.xcconfig
  • Testing.xcconfig
  • Release.xcconfig

此外,还有以下方案(一对一映射到每个项目各自的配置):

  • 调试
  • 测试
  • 发布

对于框架,这些文件包含我们想要根据调试、测试或发布进行自定义的信息(例如 URL、API 令牌/密钥等)。现在,应用程序和框架都有自己的这些文件的副本。这是因为 Xcode 在处理依赖项或多个项目时,会在这种情况下隐式尝试使用同名的配置。我想部分问题是我不知道如何明确告诉 Xcode 对未设置配置的依赖项使用 X 配置。

换句话说,我如何告诉应用程序使用 X 配置和框架使用 Y 配置?

现在,当我在模拟器中运行该应用程序时,我知道该方案正在使用正确的 info.plist 值,因为 URL 和日志设置显示正确。但是,当我在device上存档或运行时,使用了错误的构建配置。我不知道为什么会发生这种情况。

屏幕截图和代码说明了它现在是如何工作的:

图1:信息表

图2:框架构建设置

图3(部分方法的部分主体):

if let infoDict = NSBundle(identifier: Constants.uniformTypeIdentifier)?.infoDictionary,
        let apiKey = …
Run Code Online (Sandbox Code Playgroud)

xcode buildconfiguration xcconfig xcode-workspace

5
推荐指数
1
解决办法
5454
查看次数

如何跨一个 Xcode 工作区的多个目标共享 Swift 类?

我正在使用 Xcode 9 和 Swift。我有一个工作区和一个 iOS 项目。后来我添加了一个 MacOS 目标(Cocoa App)。当我尝试从 MacOS 目标引用一个类到 iOS 目标时,编译器说:

使用未解析的标识符。

如何让 Xcode 允许我将 Swift 类从目标共享到另一个?

macos xcode dependencies xcode-workspace ios-targets

5
推荐指数
1
解决办法
1622
查看次数

“ pod安装”后目标重复

将新的依赖项添加到项目并运行后pod install,我的工作区(.xcworkspace)中的目标重复如下:

在此处输入图片说明

这是pod文件的结构:

platform :ios, '8.0'
use_frameworks!
pod 'AFNetworking', '~> 2.6'
pod 'Fabric'
pod 'Crashlytics'
pod 'SocketRocket'
Run Code Online (Sandbox Code Playgroud)

我重新启动了项目,也重新启动了Xcode,但这无济于事。原因是什么,我该如何解决?

xcode objective-c ios cocoapods xcode-workspace

3
推荐指数
1
解决办法
1407
查看次数

将两个 Xcode 工作区合二为一

我有两个项目。项目 A 和项目 B。项目 A 在目标 C 中,而另一个在 Swift 3.0 中。项目 A 已经稳定,但将添加新功能。项目 A 已在工作区中。

这就是 B 项目应运而生的地方。

在项目 B 中,我正在开发一个将由项目 A 使用的库。项目 B 正在使用外部库,例如 Alamofire。

我希望项目 A 使用项目 B。我尝试的是将这两个组合到项目 A 的工作区中。我将项目 B 放在项目 A 的工作区中。

但是,项目 B 的外部库未包含在转移中。

我在两个项目中都使用 Cocoapods。

还是我必须重新添加外部库?

xcode xcode-workspace xcode8

3
推荐指数
1
解决办法
1448
查看次数

如何使用 Xcode 工作区中生成的框架中的自定义字体

我正在尝试根据功能封装和组织我的 Xcode 项目。为了实现这一点,我正在创建一个嵌入在主项目中的框架项目。该框架包含所有应用程序外观(带有颜色定义和自定义字体)。

我的项目结构类似于:

MainProject
    |_ Appearance.xcodeproj
    |       |_ ... 
    |       |_ Controller.swift
    |       |_ Resources
    |             |_ Font1.ttf
    |             |_ Font2.ttf
    |       |_ Products
    |             |_ Appearance.framework
    |_ ...
Run Code Online (Sandbox Code Playgroud)

这个想法是只编译一次 Appearance.framework 并使用主项目中嵌入的自定义字体。尽管标头已公开并且没有编译错误,但我遇到了运行时错误。

框架中的控制器使用的是UIFont(name: "Font1", size: 9)! but,返回的是nil

我阅读了有关在主项目 Info.plist 上添加字体完整路径的信息。然而,该框架是本地的,不受 cocoapods 管理。所以输出是派生数据。

这是嵌入这种框架的正确方法吗?任何人都可以为此目的提供解决方案吗?我对改变方法没有任何问题。

更新1:

另外,我注意到框架是在 XCode Derived Data 文件夹中生成的。有没有可能,框架可以在本地文件夹上生成,这样就可以在GIT上跟踪了?

cocoa-touch custom-font ios xcode-workspace

1
推荐指数
1
解决办法
1127
查看次数

在Bitbucket存储库上推送具有多个项目的Workspace

我有Xcode工作区,它有多个项目 - 主项目和pod项目.如何在Bitbucket上推送代码(第一次),以便在存储库中设置所有内容?附件是项目结构,仅供澄清

在此输入图像描述

这是我的文件夹结构

在此输入图像描述

xcode bitbucket ios cocoapods xcode-workspace

0
推荐指数
1
解决办法
521
查看次数