Tag: 哈德逊jenkins

通过TestFlight与Jenkins和Xcode 7构buildiOS应用程序并分发.ipa

苹果已经发布Xcode 7更新,再次打破了一切。 以前,我们不得不处理 ResourceRules.plist:无法读取资源 通过使用这里描述的黑客来发布 。 有些人想知道为什么这事竟然发生在第一位。 但是,使用Xcode 7更新时,通过在设置此选项时发生此错误,禁止使用“ Code Signing Resource Rules Path : 错误ITMS-90339:“此捆绑包无效.Info.plist在捆绑包中包含无效密钥'CFBundleResourceSpecification' 这个问题正是关于这个问题的答案,build议从构build设置中删除这个选项。 猜猜看,删除后第一个错误popup,所以我们发现自己在循环。 我的问题(当然除了我们是如何在这个混乱中结束的)是: 我们如何解决这两个问题,使iOS构build在Jenkins和Xcode 7中工作,之后再上传TestFlight?

Xcode 5故事板编译失败

我正在运行Xcode 5并为iOS 7构build。当我尝试构build此项目以进行存档时,出现此错误。 我得到它在我的本地机器和我的jenkins生成服务器。 我已经通过故事板,我没有find任何理由这个错误。 它在模拟器和设备上构build得很好。 我什至不知道什么是runtime.nib虽然addEditHCPViewController.nib引用的故事板内的视图控制器之一。 有任何想法吗? CompileStoryboard myApp/Profiles.storyboard cd "/builds/Company/workspace/myApp" setenv IBSC_MINIMUM_COMPATIBILITY_VERSION 6.1 setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" setenv XCODE_DEVELOPER_USR_PATH /Applications/Xcode.app/Contents/Developer/usr/bin/.. /Applications/Xcode.app/Contents/Developer/usr/bin/ibtool –errors –warnings –notices –minimum-deployment-target 6.1 –output-format human-readable-text –compile /builds/Company/workspace/myApp/build/Distribution-iphoneos/myApp.app/Profiles.storyboardc /builds/Company/workspace/myApp/myApp/Profiles.storyboard /* com.apple.ibtool.document.warnings */ /builds/Company/workspace/myApp/myApp/Profiles.storyboard:jlW-RT-oUY: warning: 2 views are vertically ambiguous. /builds/Company/workspace/myApp/myApp/Profiles.storyboard:1Qm-h4-IZr: warning: Position is ambiguous for "Picker". /builds/Company/workspace/myApp/myApp/Profiles.storyboard:d8p-iA-2QW: warning: Frame for "Button" will […]

PackageApplication今天停止与OS X 10.10(优胜美地)合作

更新:正确的答案可能是这一个: build设IPA Xcode 6.1错误 几年后,使用Jenkins从存储库构buildiOS项目。 突然间,今天发生了一个新的错误,停止构build。 我想我在这个教程的基础上根据这个设置的大部分: Beginning Automated Testing With Xcode Part 2/2 这一步导致错误: # 4 echo "*** Post build step 4" /usr/bin/xcrun -sdk iphoneos PackageApplication \ -o "${IPA_DIR}/${PROJECT}.ipa" \ -verbose "${APP}" \ -sign "${SIGNING_IDENTITY}" \ –embed "${PROVISIONING_PROFILE}" 查看发生错误的日​​志有点棘手,但是这里是: ### Codesigning '/Users/Shared/Jenkins/Home/jobs/myapp/workspace/myapp_adhoc_7.mobileprovision' with 'iPhone Distribution: mycompany Inc.' + /usr/bin/codesign –force –preserve-metadata=identifier,entitlements,resource-rules –sign iPhone Distribution: […]

运行unittests时不要启动模拟器

一些背景: 我有iOS应用程序,目标configuration为运行unitTests。 我正在MacBook上运行构build自动化工具jenkins,它会自动构build这个应用程序并运行所有testing(使用命令行xcodebuild工具)。 一切工作正常与Xcode 4.这个生成自动化工具运行在不同的用户和运行所有这些testing。 我最近切换到Xcode 5,它开始失败,因为它无法启动模拟器。 问题 我有一个schemeUnitTests被configuration为运行testing(逻辑testing)。 AI使用以下两种方法之一运行这些testing: 在Xcode中的命令U 或命令行“/ usr / bin / xcodebuild -scheme UnitTests -sdk iphonesimulator -configuration发布干净的构buildTEST_AFTER_BUILD = YES” 在这两种情况下,它都试图启动模拟器。 但是,根据我的理解,它不需要它。 无论如何,它运行在顶部的x86,它看起来不像任何应用程序安装在模拟器上。 有没有办法摆脱这个讨厌的模拟器开始(因为它打破了我的编译自动化)? 更新1 似乎find非常类似的问题,但不能得到它的工作: 在Xcode 4中运行逻辑testing,而无需启动模拟器 更新2 我发现非常相关和有趣的问题/答案: 苹果CI / Xcode服务和jenkins

来自Jenkins / SSH的Xcode,Codesign Error – “用户交互不被允许”

我想在Jenkins上运行一个自动化的xcodebuild,但是我遇到了错误 用户交互是不允许的。 命令/ usr / bin / codesign失败,退出代码为1 我已经引用了“用户交互不被允许”尝试使用codesign和其他类似的线程来签署OSX应用程序 ,但是没有一个解决scheme似乎正确地解决了错误。 这是我已经尝试过的: 我已经允许所有项目访问钥匙串,并且我已经特别添加了对“始终允许”列表的编码(正如https://stackoverflow.com/a/22637896所做的那样) 我已经设置钥匙串不会自动locking超时,无论是通过钥匙串访问的设置,并通过命令 security set-keychain-settings -t 3600 -l <KEYCHAIN> 我曾试过打电话 codesign –sign <CODE SIGN IDENTITY> –force … 在项目编译之前(更具体地说,这个解决schemehttps://stackoverflow.com/a/20208104 ),虽然这成功地build立了项目,我不认为编译之前的编码是正确的或可靠的。 (编辑:这从jenkins运行时也失败了) 这里是我正在执行的命令: security unlock-keychain -p <PASSWORD> <KEYCHAIN> xcodebuild -scheme <SCHEME> -workspace <WORKSPACE> -derivedDataPath <BUILD DIRECTORY> -configuration <CONFIGURATION> "CONFIGURATION_BUILD_DIR=<BUILD DIRECTORY>" "CODE_SIGN_IDENTITY=<CODE SIGN ID>" "PROVISIONING_PROFILE=<PROVISIONING PROFILE>" clean build […]

我怎样才能让Xcode 5在Jenkins slave上运行iOSunit testing?

我们一直使用Jenkins和Xcode插件来运行iOS应用程序的持续集成,包括自动执行和unit testing报告。 这在Linux机器和运行Xcode 4.6.3的Mac从机上使用Jenkins很有效。 现在我们正在考虑更新Xcode 5的设置,以支持目标iOS 7,并遇到以下问题。 首先,unit testing根本不会运行,因为我们使用了Xcode 4中不再支持的RunUnitTests脚本,Xcode 5不再支持这个脚本。我按照Xcode的build议,通过使用单元设置适当的scheme来解决这个问题testing目标。 然后,我使用定制的xcodebuild参数设置为test -destination platform=${DESTINATION_PLATFORM},name=${DESTINATION_NAME},OS=${DESTINATION_OS}来configurationJenkins作业的Xcode步骤,以运行unit testing。 如果我运行xcodebuild命令行,Jenkins的Xcode插件在我自己的机器上运行在terminal上,unit testing运行,但是当Jenkins作业运行时,它在尝试运行unit testing时失败或挂起。 我怀疑这是因为在Xcode 5和testingbuildaction而不是RunUnitTests脚本的情况下,unit testing现在在需要交互式会话的iOS Simulator中运行,而Jenkins从属进程正在通过Jenkins主(Linux)的SSH运行。 如果我使用Jenkins用于SSH的帐户login到slave机器,我可以看到iOS Simulator在unit testing应该运行时启动,但是testing似乎不运行,而且作业挂起。 如果我没有login到奴隶机器,jenkins作业无法运行unit testing。 有没有办法让iOSunit testing通过SSH运行在Jenkins从站上,如果没有,如何在Xcode 5构build项目时如何保持自动执行unit testing的任何build议?

jenkins – Xcode构build工程codesign失败

下面是我的构build脚本(不使用xcodebuild插件)。 构build步骤的作品 我已经创build一个单独的钥匙串与所需的证书和私钥,它们在钥匙串访问中可见 钥匙串命令不会在脚本中失败 安全列表 – 钥匙串将这些显示为有效的钥匙串 这就像解锁命令并不真正成功。 当我尝试通过命令行运行codesign codesign -f -s "iPhone Developer: mycert" -v sample.app/ –keychain /Users/Shared/Jenkins/Library/Keychains/JenkinsCI.keychain 我明白了 CSSM_SignData returned: 000186AD sample.app/: unknown error -2070=fffffffffffff7ea 虽然我不确定我是否正确地从命令行模拟,因为您可以充其量 sudo -u jenkins bash xcodebuild ONLY_ACTIVE_ARCH="NO" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED="NO" -scheme "MySchemeName" CONFIGURATION_BUILD_DIR="`pwd`" security list-keychains -s /Users/Shared/Jenkins/Library/Keychains/JenkinsCI.keychain + security default-keychain -d user -s /Users/Shared/Jenkins/Library/Keychains/JenkinsCI.keychain + security unlock-keychain -p jenkins […]

将Jenkins / Hudson用作iOS和Mac开发的持续集成时,缺less钥匙串中的证书和密钥

我正在努力改善iOS的Hudson CI,并在系统启动后立即启动Hudson。 为此,我使用以下launchd脚本: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>Hudson CI</string> <key>ProgramArguments</key> <array> <string>/usr/bin/java</string> <string>-jar</string> <string>/Users/user/Hudson/hudson.war</string> </array> <key>RunAtLoad</key> <true/> <key>UserName</key> <string>user</string> </dict> </plist> 这工作正常,但是当由Hudson启动的xcodebuild尝试签名应用程序时,它会失败,因为它无法在钥匙串中find正确的密钥/证书。 然而,密钥/证书对在那里,因为它正常工作,如果我从命令行启动Hudson。 你有什么想法,为什么发生?