【问题标题】:Jenkins xcode plugin stringRep should be a non-empty string, but it's an empty stringJenkins xcode 插件 stringRep 应该是一个非空字符串,但它是一个空字符串
【发布时间】:2015-07-18 14:42:05
【问题描述】:

我正在尝试使用 jenkins Xcode 插件构建 iOS 应用程序。不幸的是,它失败并出现错误

 stringRep should be a non-empty string, but it's an empty string

下面我放了全栈。当我跑步时

/usr/bin/xcodebuild -list -workspace project.xcworkspace

在终端中,它给出了正确的输出。

    == Available schemes
[repository] $ /usr/bin/xcodebuild -list -workspace project.xcworkspace
2015-07-18 15:33:40.533 xcodebuild[39418:3378293] [MT] DVTAssertions: ASSERTION FAILURE in /SourceCache/DVTFrameworks/DVTFrameworks-7714/DVTFoundation/MacroExpansion/DVTMacroDefinitionConditionSet.mm:153
Details:  stringRep should be a non-empty string, but it's an empty string
Object:   <DVTMacroDefinitionConditionSet>
Method:   +conditionSetFromStringRepresentation:getBaseMacroName:error:
Thread:   <NSThread: 0x7f909152e100>{number = 1, name = main}
Hints: None
Backtrace:
  0  0x0000000102a27c07 -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in DVTFoundation)
  1  0x0000000102a2765f _DVTAssertionHandler (in DVTFoundation)
  2  0x0000000102a2794e _DVTAssertionFailureHandler (in DVTFoundation)
  3  0x00000001029b581e +[DVTMacroDefinitionConditionSet conditionSetFromStringRepresentation:getBaseMacroName:error:] (in DVTFoundation)
  4  0x000000010475f062 -[DVTMacroDefinitionTable(XCMacroExpansionExtensions) _xc_setValue:forMacroName:errorHandler:] (in DevToolsCore)
  5  0x000000010475f6a9 __108-[DVTMacroDefinitionTable(XCMacroExpansionExtensions) xc_setMacroNamesAndValuesFromDictionary:errorHandler:]_block_invoke (in DevToolsCore)
  6  0x00007fff8fec21f5 __65-[__NSDictionaryI enumerateKeysAndObjectsWithOptions:usingBlock:]_block_invoke (in CoreFoundation)
  7  0x00007fff8fec2119 -[__NSDictionaryI enumerateKeysAndObjectsWithOptions:usingBlock:] (in CoreFoundation)
  8  0x000000010475f585 -[DVTMacroDefinitionTable(XCMacroExpansionExtensions) xc_setMacroNamesAndValuesFromDictionary:errorHandler:] (in DevToolsCore)
  9  0x0000000104762109 -[NSProcessInfo(XCMacroExpansionExtensions) xc_cachedEnvironmentAsMacroDefinitionTable] (in DevToolsCore)
 10  0x00000001045357fa -[PBXTarget createMacroExpansionScopeWithBuildParameters:] (in DevToolsCore)
 11  0x0000000104537bd2 -[PBXTarget cachedMacroExpansionScopeForBuildParameters:] (in DevToolsCore)
 12  0x000000010454c903 -[PBXTarget expandedValueForString:forBuildParameters:] (in DevToolsCore)
 13  0x00000001045c1869 -[PBXNativeTarget fullProductNameForConfigurationNamed:] (in DevToolsCore)
 14  0x0000000104545d40 -[PBXTarget fullProductName] (in DevToolsCore)
 15  0x0000000104505deb -[PBXReference setProducingTarget:] (in DevToolsCore)
 16  0x000000010454a480 -[PBXTarget awakeFromPListUnarchiver:] (in DevToolsCore)
 17  0x00000001045c2616 -[PBXNativeTarget awakeFromPListUnarchiver:] (in DevToolsCore)
 18  0x00007fff8fe6f376 -[NSArray makeObjectsPerformSelector:withObject:] (in CoreFoundation)
 19  0x000000010451c864 -[PBXPListUnarchiver decodeRootObject] (in DevToolsCore)
 20  0x00000001044e79e0 +[PBXProject projectWithFile:errorHandler:readOnly:] (in DevToolsCore)
 21  0x00000001047146ad -[Xcode3Project initWithFilePath:extension:workspace:options:error:] (in DevToolsCore)
 22  0x000000010317c71d __82+[IDEContainer _retainedContainerAtFilePath:fileDataType:workspace:options:error:]_block_invoke_2 (in IDEFoundation)
 23  0x00007fff91860c13 _dispatch_client_callout (in libdispatch.dylib)
 24  0x00007fff91861e5e _dispatch_barrier_sync_f_invoke (in libdispatch.dylib)
 25  0x0000000102a609cd DVTDispatchBarrierSync (in DVTFoundation)
 26  0x000000010285beb4 -[DVTDispatchLock performLockedBlock:] (in DVTFoundation)
 27  0x000000010317c129 __82+[IDEContainer _retainedContainerAtFilePath:fileDataType:workspace:options:error:]_block_invoke (in IDEFoundation)
 28  0x0000000102994ace __58-[DVTModelObjectGraph performBlockCoalescingModelChanges:]_block_invoke (in DVTFoundation)
 29  0x0000000102a1933a -[DVTModelGraphTransactionScope performTransaction:] (in DVTFoundation)
 30  0x00000001029949d9 -[DVTModelObjectGraph performBlockCoalescingModelChanges:] (in DVTFoundation)
 31  0x000000010317beb2 +[IDEContainer _retainedContainerAtFilePath:fileDataType:workspace:options:error:] (in IDEFoundation)
 32  0x0000000102e6b8f5 +[IDEContainer retainedContainerAtFilePath:fileDataType:workspace:error:] (in IDEFoundation)
 33  0x00000001031419dc -[IDEFileReference _recalculateReferencedContainer] (in IDEFoundation)
 34  0x0000000102e7e27b -[IDEFileReference referencedContainer] (in IDEFoundation)
 35  0x000000010317a9da __62-[IDEContainer _scheduleResolvePendingFileReferencesOperation]_block_invoke (in IDEFoundation)
 36  0x00000001029a00c8 -[_DVTAsynchronousRequest _invokeBlock:] (in DVTFoundation)
 37  0x00007fff90aa941b __NSFireDelayedPerform (in Foundation)
 38  0x00007fff8feb52e4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ (in CoreFoundation)
 39  0x00007fff8feb4f73 __CFRunLoopDoTimer (in CoreFoundation)
 40  0x00007fff8ff2853d __CFRunLoopDoTimers (in CoreFoundation)
 41  0x00007fff8fe70608 __CFRunLoopRun (in CoreFoundation)
 42  0x00007fff8fe6fbd8 CFRunLoopRunSpecific (in CoreFoundation)
 43  0x0000000102996f0b +[DVTKVOConditionValidator waitForCondition:sourceObject:keyPathAffectingConditionBlock:timeout:] (in DVTFoundation)
 44  0x000000010358c7e3 -[Xcode3CommandLineBuildTool _resolveInputOptionsWithTimingSection:] (in Xcode3Core)
 45  0x000000010359c685 -[Xcode3CommandLineBuildTool run] (in Xcode3Core)
 46  0x00000001028509be (in xcodebuild)
 47  0x00007fff8b5b45c9 start (in libdyld.dylib)
 48  0x0000000000000004

我有最新的 Xcode。感谢任何帮助,谢谢

【问题讨论】:

  • 嗨。检查应用程序中的方案(产品->方案->管理方案),它们必须是共享的(复选框“共享”)。如果没有,则需要进行共享,然后将更改提交到 repo。
  • @Mozilla,已经检查过了,它们是共享的:/
  • 检查下一个 - 从新文件夹中的版本控制存储库中检查您的项目,然后再次打开并检查方案。看起来您的共享方案不在 git (svn) 下。您能否提供有关您的项目结构的更多信息(可能来自 xcode - 目标、工作区的屏幕截图)? + 来自 Jenkins 的构建步骤信息。
  • @Mozilla - 方案是共享的,而且它们肯定在控制之下,因为我使用了一些云 - 解决方案,在那里我检查了我的存储库并且它需要共享方案,所以这是肯定的.在我的 jenkins 中,我基本上在上一步中从 git 中签出项目,然后我使用“执行 shell”提取一些子模块并手动运行 pod install。之后,我运行使用 xcode 构建插件的作业。正如我所说,我试图从命令行在签出的文件夹中运行相同的命令(xcodebuild -list ...),它在那里很好。您可能会发现目标/工作区的哪些详细信息有用?
  • 小更新,我正在尝试构建的任何其他项目都会出现同样的问题。

标签: ios xcode jenkins xcode6


【解决方案1】:

找到了解决方案,是什么帮助我将Xcode插件中的SDK设置为xcodebuild -sdk返回的值,即iphoneos8.4。

【讨论】:

  • 你是如何动态地将其设置为xcodebuild -sdk返回的值?
  • 我在 azure devops 管道中遇到了这个问题,我只是添加了参数 -sdk iphoneos 并且它起作用了。
【解决方案2】:

在我重新启动 Jenkins 后它对我有用。问题是我刚刚安装了xcode插件,之后没有重启服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-14
    • 2013-05-14
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    相关资源
    最近更新 更多