问题标签 [xcode-build-settings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xcode - 递归地将 -arch 选项应用于 Xcode 项目的所有依赖项
我有一个使用 xcodebuild 命令行工具构建 Xcode 项目列表的脚本。在引入通用构建之后,我们在 xcconfig 文件和 Xcode 项目的构建设置中引入了标准架构。现在我想添加一个选项来仅构建给定的拱门。为此,我添加了选项 -arch 。这适用于我使用列表构建的项目。当系统尝试在内部构建依赖项目时会出现问题,并且由于架构设置为通用,因此无法构建,因为它的依赖关系现在仅是 Intel 或仅 arm64。我可以给 xcodebuild 一些论据以将 -arch 选项也应用于其所有依赖项。
xcode-build-settings - Salesforce 登录失败:登录 Salesforce 失败
运行 buildspec 时出现以下错误,无法登录:无法将请求发送到 https://${salesforce.serverurl}/services/Soap/u/ 任何提示?
xcode - Xcode SwiftUI 预览构建设置
我正在使用方案运行预构建脚本。我的脚本启用了从正在构建的目标提供构建设置的选项。当为 SwiftUI 预览构建项目时,也会执行此脚本。如果正在运行的构建是常规构建还是用于预览,我需要在此脚本中知道。有没有办法做到这一点以及如何做到这一点?
我尝试export
在两种情况下都在脚本中运行,但似乎所有环境变量在两种情况下都是相同的。
swift - 应用程序的 xib/storyboard 如何从资产目录(这是一个 swift 包资源)中渲染图像?
关于
我们的资产目录从 App 目标移动到 swift 包资源。Copy Bundle Resources
之后,除非通过阶段复制资产目录(这意味着编译的应用程序中有 2 个副本),否则应用程序现有的故事板/xib 将无法再渲染这些资产。有没有更好的办法?
考虑迁移资产目录之前和之后的工作空间。
迁移 Assets.xcasset 之前
应用程序按预期工作。此处设置的典型资产目录。图像以多种方式使用:
- 以编程方式(UIKit 和 SwiftUI)
- 视觉上(xib 和故事板)
之后(将 Assets.xcassets 移至 MyPackage)
- 创建一个新的 swift 包 (MyPackage)
- 移动到
Assets.xcassets
_Assets.swift
MyPackage
- 在
MyPackage/Package.swift
, 调用.process("Resources/Assets.xcassets")
- 将我们的程序化图像访问器更改为
public
范围
这是我们开始遇到问题的地方。
问题
- [通过]
MyPackage
和应用程序都编译没有警告/错误。链接和启动就好了 - [通过] 在运行时,任何对图像的编程引用都会按预期呈现。
- [失败] 在运行时,任何呈现的 xib/storyboard 文件都无法渲染图像。
- [注意] 如果我在 Xcode 中检查 xib/storyboard,图像会呈现。
- [注意] 如果我单击图像(好像我要选择另一个),弹出列表会正确呈现
Assets.xcassets
.
因此,Xcode 对图像有足够的了解来渲染它们,并且可以在没有警告或错误的情况下进行编译,但是在运行时图像会丢失。
解决方案(有副作用)
在四处寻找之后,我找到了一个可行的解决方案(但我不满意):
在应用程序的构建阶段设置中,我添加了一个复制项目MyPackage/Sources/MyPackage/Resources/Assets.xcassets
再次编译/运行后,图像可以正确渲染为故事板/xibs。很好,但有一些不良副作用:
- 编译/链接的二进制文件包含两个
Assets.xcassets
. 一进MyPackage
一出就是复制到App Bundle。 - 在 Xcode 中,
Assets.xcassets
在项目中出现两次。一个在MyPackage
应用程序源的根目录中。在不中断复制阶段的情况下无法移动或隐藏它。它们至少是符号链接的,所以编辑就是编辑另一个。
备择方案?
是时候寻求帮助了。我认为这不是最好的/预期的方式。我已经用尽了我的 google-fu。在 Apple 的文档中找不到详细信息。
我想象有一种更自定义的方式来执行复制步骤(可能不包括 Package.swift 中的资产目录)?或者可能是在“构建规则”选项卡中编译资产目录的一种方式?
还是我做对了?
ios - 父捆绑包具有与子捆绑包相同的标识符 (bundle.identifier)
所以我最近刚刚在我的项目中添加了一个 POD,然后要求我使用/加载工作区而不是单个项目。这一切都很好,但现在我们用于最终构建项目的构建脚本(见下文)将成功构建,但在安装时,我在尝试安装时检查设备控制台日志(粘贴在下面的一些行)时发现由于父包标识符与子包相同(我假设这是指我添加的这个库 - JSONWebToken),因此它无法这样做。
我想我的问题是我该如何解决这个问题?我们有一个附加了适当 bundleId 的脚本(我们有多个从同一个代码库构建的应用程序)。在我看来,xcodebuild 将正确地将此 bundleId 用于主应用程序,但它也将它用于 POD 包。如何使用 xcodebuild 解决这个问题?
swift - 构建期间未设置 Cocoapods EXCLUDED_ARCHS 标志
我正在尝试构建我的项目,但在部署到模拟器而不是实际设备时不断收到“未找到模块”。在四处挖掘之后,我发现我应该为我的所有目标添加 arm64
到建筑设置的Excluded Archtiectures部分。
我用这个SO question作为参考,但是arm64
没有设置。
有人看到我做错了什么吗?