标签: xcodebuild

如何获取xcodebuild的返回值?

我在持续集成服务器上的bash脚本中使用xcodebuild.

我想知道脚本中的构建何时失败,因此我可以提前退出并将构建标记为失败.

xcodebuild向控制台显示BUILD FAILED消息,但是我没有成功获取返回值.

我怎样才能做到这一点?

提前致谢

xcodebuild

10
推荐指数
4
解决办法
6801
查看次数

Xcode预处理器依赖于环境变量

我有一个配置,我想通过环境变量动态控制预处理器定义的值.

这可能吗?如果是如何在预处理器定义表中设置我想根据环境变量设置值?

xcode preprocessor environment-variables xcodebuild

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

在代码签名期间更新Xcode会产生错误"无法在磁盘上找到代码对象"

我刚刚更新到最新版本的Xcode,并在运行我们的自动构建脚本时遇到错误(他们使用xcodebuildxcrun命令).

### Codesigning '/Users/...日志语句之后立即发生错误,如下所示:

Program /usr/bin/codesign returned 1 : [/var/folders/__/63j90nkn2lg18ct1nq791_nc0000gn/T/g5hbigh1tM/Payload/CurrentTarget.app: replacing existing signature
/var/folders/__/63j90nkn2lg18ct1nq791_nc0000gn/T/g5hbigh1tM/Payload/CurrentTarget.app: cannot find code object on disk
Run Code Online (Sandbox Code Playgroud)

我在这里找到了文档,列出并简要描述了错误,但没有具体说明如何解决它.

因为我花了很长时间寻找解决方案(没有任何关于SO)我将在下面发布答案以防其他人遇到同样的问题.

xcode code-signing xcodebuild ios

10
推荐指数
2
解决办法
5263
查看次数

xcodebuild导入XLIFF本地化

我刚刚发现,Xcode 6的命令行工具允许您使用导出XLIFF本地化文件

xcodebuild -exportLocalizations -localizationPath
Run Code Online (Sandbox Code Playgroud)

现在,我想在推送到GIT仓库时在我的CI上导出XLIFF.这很容易.

但是,预构建我需要再次导入它们.不幸的xcodebuild是没有提供-importLocalizations或类似.

有没有其他方法可以使用命令行导入XLIFF?

import localization xcodebuild xcode6

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

没有签名证书iOS分发

我在为OTA分发生成IPA时遇到了麻烦.

我们为另一家公司制作了一款应用 另一家公司在我们的企业帐户上添加了我,以便我可以使用他们的签名身份进行分发.

使用命令行创建ipa

使用命令xcodebuild,我使用xcode创建的存档,我将团队作为其他公司的团队,以及说明我正在为Enterprise构建的plist,我收到此错误:

未找到属于团队[其他公司的公司团队ID]的有效iOS分发签名身份.

使用XCode

我尝试使用XCode,取消选中Xcode中的"自动管理签名"并选择其他公司,然后我收到这些错误:

找不到签名证书"​​iOS Distribution".

没有发现"iOS发布"签名证书与团队ID [其他公司的团队ID]匹配的私钥."

我应该从开发者帐户下载一些东西吗?(我已经下载了所有证书......我认为)我不能撤销他们拥有的分发证书,因为它不是我的公司,它可能会给他们带来麻烦.

谢谢.

xcode xcodebuild ipad ios ipa

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

XCode:Interface Builder在编译XIB时崩溃

当我使用命令行工具xcodebuild(XCode 4.2.1 - iOS SDK 5.0)随机编译我的应用程序时ibtoold(Interface Builder)崩溃.当我重新运行构建时,一切正常.

发生以下错误:

ibtoold[88134:107] [MT] DVTAssertions: ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-933/IBPlugin/Utilities/IBObjectMarshalling.m:499
 Details:  Interface Builder encountered an error communicating with the iOS Simulator. If you choose to file a crash report or radar for this issue, please check Console.app for crash reports for "Interface Builder Cocoa Touch Tool" and include their content in your crash report.
Exception name: NSInvalidReceivePortException
Exception reason: connection went invalid while waiting for a reply because a mach port …
Run Code Online (Sandbox Code Playgroud)

xcode interface-builder xcodebuild ibtool ios-simulator

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

PhoneGap如何从命令行进行发布构建

我通过调用发布版本:

xcodebuild -project HelloWorld -sdk iphoneos5.1 -configuration Release install
Run Code Online (Sandbox Code Playgroud)

但对于PhoneGap应用程序,我收到此错误:

**建筑失败**

以下构建命令失败:CompileC build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.o Phonefinch/Classes/AppDelegate.m normal armv6 objective-c com.apple.compilers.llvm. clang.1_0.compiler(1次失败)

当我尝试:

xcodebuild -project HelloWorld -sdk iphoneos5.1 -configuration Release clean build
Run Code Online (Sandbox Code Playgroud)

我明白了:

2012-10-04 22:51:52.776 xcodebuild [20016:4107] DVTAssertions:/ SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-1559/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/SpecificationTypes/XCGccMakefileDependencies.m:87中的警告详情:无法访问从"/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.d"加载依赖项输出内容.错误:错误Domain = NSCocoaErrorDomain Code = 260"无法打开文件"AppDelegate.d",因为没有这样的文件." UserInfo = 0x400eabf40 {NSFilePath =/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.d,NSUnderlyingError = 0x40079c140"操作无法完成.没有这样的文件或目录"}.用户信息:{NSFilePath ="/ Users/camobap-mac/Project/Phonefinch/build/Phonefinch.build/Release -iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.d"; NSUnderlyingError ="错误域= NSPOSIXErrorDomain代码= 2 \"操作无法完成.没有相应的文件和目录\""; }.功能:void XCGccMakefileDependenciesParsePathsFromRuleFile(NSString*,void(^)(NSString*))线程:{name =(null),num = 7}请在http://bugreport.apple.com上提交此警告消息和任何错误您可以提供的有用信息.**建筑失败**

以下构建命令失败:CompileC build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv7/AppDelegate.o Phonefinch/Classes/AppDelegate.m normal armv7 objective-c com.apple.compilers.llvm. clang.1_0.compiler CompileC build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.o Phonefinch/Classes/AppDelegate.m normal armv6 objective-c com.apple.compilers.llvm.clang .1_0.compiler(2次失败)2012-10-04 22:52:04.887 …

xcode objective-c xcodebuild cordova

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

xcode 7.2无法构建Objective-C模块

我刚刚将我的Xcode更新到7.2版.现在我尝试使用xcodebuild从命令行构建一个框架但是有这个错误

.... /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAMediaTiming.h:6:9: note: in file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAMediaTiming.h:6:
#import <QuartzCore/CABase.h>
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CABase.h:11:10: error: could not build module 'Darwin'
#include <stdbool.h>
         ^
/Users/atran/Desktop/Repos/DSA_Working_Directory/Libs/Kingfisher/Kingfisher/Kingfisher.h:27:9: note: while building module 'UIKit' imported from /Users/atran/Desktop/Repos/DSA_Working_Directory/Libs/Kingfisher/Kingfisher/Kingfisher.h:27:
#import <UIKit/UIKit.h>
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h:11:9: note: while building module 'QuartzCore' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h:11:
#import <QuartzCore/CATransform3D.h>
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAEAGLLayer.h:7:9: note: while building module 'OpenGLES' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAEAGLLayer.h:7:
#import <OpenGLES/EAGLDrawable.h>
        ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/OpenGLES.framework/Headers/EAGL.h"
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/OpenGLES.framework/Headers/EAGL.h:8:10: error: could not build module 'Foundation'
#include <Foundation/Foundation.h>
         ^ …
Run Code Online (Sandbox Code Playgroud)

xcode module xcodebuild ios

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

Bitcode错误使用xcodebuild打包ipa

首先,我想声明没有bitcode,一切都很完美.当我打开应用程序中的"bitcode"标志时,问题就出现了.

此外,所有构建都是通过CI流(不是手动在xcode-> archive et.al中).

该框架是在与应用程序本身分开的流程中构建的(该应用程序嵌入了编译的框架)

当我尝试打包ipa时,我收到此错误:

❌ld:bitcode bundle无法生成,因为'..../Framework.framework/Framework'是在没有完整bitcode的情况下构建的.bitcode的所有框架和dylib必须从Xcode Archive或Install build for architecture armv7生成

❌clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

关于框架:

我正在使用以下命令构建框架:(省略技术细节)

# iphone (arm)
xcodebuild -configuration Release -sdk iphoneos CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO

# iphone (simulator)
xcodebuild -configuration Release -sdk iphonesimulator CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
Run Code Online (Sandbox Code Playgroud)

然后脂肪(FAT二进制)

lipo -create /Release-iphonesimulator/Framework.framework/Framework -output /Universal/Framework.framework/Framework
Run Code Online (Sandbox Code Playgroud)

我已经将编译器标志添加到框架中以"嵌入bitcode"

在此输入图像描述

我甚至"验证"它有其他所有问题的bitcode :( 编译启用了bitcode的iOS库)

另外,检查二进制文件是否包含bitcode的最简单方法是使用otool和grep:

otool -l binary_name | grep __LLVM

你会看到一个或多个segname __LLVM条目,如果它有bitcode或空输出,如果没有.

otool -arch arm64 -l Frameworks/Framework.framework/Framework  | grep __LL
segname __LLVM
segname __LLVM
Run Code Online (Sandbox Code Playgroud)

我还尝试了添加编译标志的其他变体

xcodebuild OTHER_CFLAGS="-fembed-bitcode"
Run Code Online (Sandbox Code Playgroud)

并报告给我相同的错误

xcode xcodebuild ios bitcode xcode8

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

iOS 14,为设备和模拟器创建库时出现 lipo 错误

我们一直在使用 lipo 命令创建一个框架,当集成到其他项目中时,该框架可在设备和模拟器上运行。以下是用于生成设备和模拟器构建的构建命令

xcodebuild -target SampleSDK ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphonesimulator BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" OBJROOT="${OBJROOT}/DependentBuilds"
xcodebuild -target SampleSDK ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" OBJROOT="${OBJROOT}/DependentBuilds"
Run Code Online (Sandbox Code Playgroud)

在此之后,我们将 iphonesimulator(如果存在)中的 swift 模块复制到复制的框架目录

cp -R "$BUILD_DIR/${CONFIGURATION}-iphonesimulator/${PRODUCT_NAME}/Modules/SampleSDK.swiftmodule/" "${UNIVERSAL_OUTPUTFOLDER}/${PRODUCT_NAME}/Modules/${PROJECT_NAME}.swiftmodule/"
Run Code Online (Sandbox Code Playgroud)

然后 lipo 命令

lipo -create "$BUILD_DIR/${CONFIGURATION}-iphonesimulator/${PRODUCT_NAME}/${PROJECT_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PRODUCT_NAME}/${PROJECT_NAME}" -output "${UNIVERSAL_OUTPUTFOLDER}/${PRODUCT_NAME}/${PROJECT_NAME}"
Run Code Online (Sandbox Code Playgroud)

上面的命令失败并出现以下错误

fatal error: lipo: /path/to/Library/Developer/Xcode/DerivedData/Sample-bhfmlauxsdympmdjkjyvujaljevg/Build/Products/Debug-iphonesimulator/SampleSDK.framework/SampleSDK and /Users/rramshettysiddaraju/Library/Developer/Xcode/DerivedData/Sample-bhfmlauxsdympmdjkjyvujaljevg/Build/Products/Debug-iphoneos/SampleSDK.framework/SampleSDK have the same architectures (arm64) and can't be in the same fat output file
Run Code Online (Sandbox Code Playgroud)

我尝试了 stackoverflow 中的答案之一,关于添加用户定义的设置 VALID_ARCHS 然后将其删除。但这没有用

xcodebuild lipo ios14 xcode12

9
推荐指数
2
解决办法
4348
查看次数