- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可以使用以下命令构建我的 Cocoapods 项目:
base=$(basename *.xcworkspace .xcworkspace) xcodebuild -sdk "iphonesimulator$ios_version" \
CONFIGURATION_BUILD_DIR="$build_dir/build" \
-workspace $base.xcworkspace -scheme $base -configuration AdHoc \
DSTROOT=$build_dir \
OBJROOT=$build_dir \
SYMROOT=$build_dir \
ONLY_ACTIVE_ARCH=NO \
"$@"
但是,如果我使用此命令,它会失败:
base=$(basename *.xcworkspace .xcworkspace) xcodebuild -sdk "iphonesimulator$ios_version" \
CONFIGURATION_BUILD_DIR="$build_dir/build" \
-workspace $base.xcworkspace -scheme $base -configuration AdHoc \
PRODUCT_NAME=app \ <============= THIS IS THE EXTRA LINE =====
DSTROOT=$build_dir \
OBJROOT=$build_dir \
SYMROOT=$build_dir \
ONLY_ACTIVE_ARCH=NO \
"$@"
更奇怪的是,如果我使用第一个命令,然后使用第二个命令,它就会起作用。 (删除构建目录以重置。)
其他人也遇到同样的问题吗?是否可以通过其他方式同时使用 PRODUCT_NAME 和 CONFIGURATION_BUILD_DIR 来构建 cocoapods 项目?
最佳答案
我也遇到了同样的问题,并找到了问题的根本原因。
环境:Xcode 6.1 (6A1052c)、OSX 10.10 (14A389)
原因是 PRODUCT_NAME 属性不仅影响构建的 *.app,还影响 CocoaPods 的库 *.a 文件。
我尝试了迪恩和乔尔的解决方案,但对我不起作用。在我的场景中,我需要构建许多具有不同产品名称的 *.app 文件,并且图像资源和设置略有不同。因此,我想在构建脚本中构建不同的 *.app 文件,只需单击一下即可触发该过程。
如果我们在 xcodebuild 的选项中使用 *.xcworkspace 在以下命令中设置 PRODUCT_NAME,会发生以下情况:
xcodebuild -workspace $PROJECT_NAME.xcworkspace \
-scheme $PROJECT_NAME \
-configuration Distribution \
CONFIGURATION_BUILD_DIR=$PROJECT_SRC/build \
PRODUCT_NAME=$NEW_PRODUCT_NAME build
根据 Dean 的解决方案,即使在 *.xcconfig 文件中写入 PRODUCT_NAME 配置,问题仍然会发生。
对于 Joel 的解决方案,xcodebuild 命令之前的 PRODUCT_NAME 配置对新产品名称无效。
对于Full的问题:
And more strangely, if I use the first command and then the second command it will work. (Delete the build directory to reset.)
这是因为第一个版本已经构建了 CocoaPods 的必需 *.a 文件。即使第二次构建一些 $NEW_PRODUCT_NAME.a 文件(未使用),链接器步骤所需的 *.a 文件也已存在用于链接。这就是第二个构建过程成功的原因。
最后,我的解决方案是分别构建项目和 CocoaPods 库。
使用以下命令构建 CocoaPods 库
xcodebuild -project Pods/Pods.xcodeproj build
使用以下命令构建项目,并在搜索路径中添加 CocoaPods 和其他必要的库(不要忘记包含所有必要的库)
xcodebuild -project $(TARGET_PROJ) \
-configuration Distribution \
-target $(TARGET_TAR) \
PRODUCT_NAME=$(NEW_PRODUCT_NAME) \
LIBRARY_SEARCH_PATHS="./Pods/build/Release-iphoneos $OTHER_PATH"
构建!
这些对我来说是有用的,可以为相同的二进制文件提供一键构建脚本,但有一些不同的图像和设置。希望这对遇到同样问题的人有所帮助。
关于使用 PRODUCT_NAME 构建 cocoapods 项目的 xcodebuild 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23344617/
有没有办法在 CocoaPod 文件中写入注释?我看了他们的CocoaPods Guide ,但我什么也没看到。 最佳答案 您可以使用 Ruby 注释语法在 Podfile 中添加注释: 内联 #co
我在 Xcode 项目中有多个目标,它们必须依赖于相同的 pod 列表。我可以这样写 Podfile: target :target1 do pod 'pod1' pod 'pod2'
我正在创建一个新的 cocoapod,并希望包含另一个 cocoapod 作为依赖项。 我在 podspec 中添加了必要的行: s.dependency 'Locksmith', '~> 2.0
我执行了我的正常 pod update并收到以下消息: [!] There was an error reading '~/.cocoapods/repos/master/CocoaPods-vers
背景 几年前,我为我正在从事的项目安装了 cocoapods。从那以后我就没有使用过它,现在我需要更新它才能让 Flutter 工作。 系统 操作系统 MacOS Mojave 版本 10.14.3
我想知道用 CocoaPod 包含演示项目的最佳方法是什么。特别是,我希望它成为任何人都可以尝试使用 pod try 的组件。命令。 我看到两个选项: 选项 1:使用 Podfile 在 Exampl
我正在尝试为 firebase 获取一个 pod,但是我在搜索框中输入的任何名称都没有返回任何内容。是网站打不开还是?谢谢 最佳答案 这似乎是许多开发人员不时面临的问题,包括我自己,但是 cocoap
我有一个库的公共(public)分支,该库已存在于 CocoaPods/Specs 中。在 Podfile 中,我可以通过执行以下操作来引用此 fork pod: pod 'CoolLibrary',
pod 命令是否支持列出给定项目中已安装的 CococaPods 的选项? pod list 似乎显示了所有已发布 pod 的列表。我查看了文档,但找不到执行此操作的方法。 最佳答案 如 @DougA
我在 Amazon s3 中存储了一个预编译的框架。 “pod spec lint”失败并出现以下错误。 - ERROR | [iOS] file patterns: The `source_file
我正在用一些资源文件创建我自己的 pod。它基本上是这样定义的: Pod::Spec.new do |s| s.name = 'MyName' s.version = '0.
我正在尝试在我的项目中使用编译到 iOS 的 libFLAC,并使用 CocoaPod 作为依赖项进行安装。 问题是,如果我使用 CocoaPod 0.39 版,工作区创建得很好,但如果我使用 Coc
我在使 CocoaPods 依赖项在 RubyMotion 中工作时遇到了各种问题。首先,如果我添加 dependency 'JSONKit'到我的 Rakefile 然后运行 rake它被 ca
当使用 faSTLane 和 cocoapods 构建我们的 iOS 应用程序时,我注意到 faSTLane 不使用我使用安装的 cocoapods 版本 sudo gem install cocoa
有没有办法在 Podfile 中指定那个 xcconfig文件应该是 #include d 在 Cocoapods 生成的那个? 是否有公开的方法/变量用于附加此 #include还是我需要阅读生成的
在新的 XCode5 中构建我的项目时,我收到以下警告: Pods-App 作为“libPods-App.a”的隐式依赖项被拒绝,因为其架构“i386”不包含所有必需的架构“x86_64” . 最佳答
我已经使用以下命令在 bundle 中安装了 Cocoapods-art: bundle exec gem install cocoapods-art 这是成功消息: Fetching cocoap
在 Xcode 7 中,cocoapods 库的库具有排除代码覆盖率的功能。 但在 Xcode 8 中,该库将包含代码覆盖率。 我是否可以在代码覆盖率中排除该库? 示例:安装 pod 'TPKeybo
我目前正在寻找一个仅支持 Carthage 作为包管理器的库。我希望将其集成的项目已经有一些 CocoaPods 依赖项。有人尝试过同时使用这两个管理器吗? 我觉得这是一个坏主意,但我很想听听实际情况
我刚刚在 Specs Repo 中使用 Pod trunk Push 发布了 Pod 的 Beta 版本。我想知道是否有任何方法可以从规范存储库中删除此版本规范。我没有找到任何通过 pod 命令执行此
我是一名优秀的程序员,十分优秀!