小编iRe*_*nor的帖子

未定义符号:_OBJC_CLASS_$_WKInterfaceController 在将 Xcode 更新到版本 11.1 后出错

我将 Xcode 更新到 11.1 版并得到了这个预期的错误:

为 iOS 模拟器构建时 WatchKit 不可用。

然后我按照建议从 iOS 应用程序目标中删除了 WatchKit。从那以后我遇到了这个错误:

体系结构 x86_64 的未定义符号:
“_OBJC_CLASS_$_WKInterfaceController”,引用自:INFOnlineLibrary(IOLWatchKitHelper.o) 中的 objc-class-ref ld:未找到体系结构 x86_64 的符号 clang:错误:链接器命令失败,退出代码 1(使用 -v 查看调用)

未定义符号:_OBJC_CLASS_$_WKInterfaceController

PS:x86_64 部分取决于设备/模拟器的选择。如果我选择一个真实的设备,它会为 arm64 提供相同的错误。所以我不认为这是一个架构问题,因为包含 WKInterfaceController 的框架只是一个标准的 watchOS 框架,即 Watchkit。

PS_2:iOS 应用中没有使用 WKInterfaceController 甚至 WatchKit。仅用于 WatchAppExtension 部分

到目前为止我尝试过的:

  • 首先是将 WatchKit 框架添加到 WatchApp 和 WatchAppExtension 目标。
  • 当我搜索架构 x86_64类型错误的未定义符号时,通常有许多不同的建议。尽管我认为这不是架构相关的事情,但我尝试在所有目标中仅设置构建活动架构 no。最建议将 $(inherited) 放在搜索路径之前已经完成了。
  • 检查 .m 文件的目标。他们都很好。
  • 我什至走得很远,评论了所有使用 WKInterfaceController 的代码。之后什么都没有改变。我也删除了手表应用程序,它仍然在寻找 _OBJC_CLASS_$_WKInterfaceController 但我不确定它是否正确。
  • 我用file WatchKit.framework命令检查了 WatchKit.framework 设备支持文件,看到它支持 arm64。然后将该库手动添加到库中,在设备上运行但仍然无法正常工作。

xcode objective-c ios watchkit

7
推荐指数
3
解决办法
2万
查看次数

在 Gitlab CI/CD 中如何在管道期间签出另一个分支

我想签出dev合并请求管道中的分支,该管道是为了dev与其他分支合并而打开的。我将检查这项工作中的某些内容,然后根据这项工作的成功继续进行其他一些工作。是否可以做这样的事情,或者我总是必须使用管道触发的分支?

我添加了gitlab配置的相关部分


variables:
  GIT_STRATEGY: clone

checksomething:
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "dev"
    - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
      when: never
    - if: $CI_COMMIT_BRANCH
  environment:
    name: development
  before_script:
    - git checkout dev
  script:
    - !reference [.check-something-on-dev]
Run Code Online (Sandbox Code Playgroud)

但我有这个错误:

$ git checkout dev
error: pathspec 'dev' did not match any file(s) known to git```
Run Code Online (Sandbox Code Playgroud)

git continuous-integration gitlab

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

plotly的layout.axis对象的overlaying参数是什么意思?

我试图理解这实际上意味着什么,但不能走得太远。

我玩下面的代码来理解它。如果我删除所有叠加参数,则只会出现第 4 个。如果我删除其中一个,则只有该轴可见。我无法对这种行为发表任何声明。和不,

如果设置了相同字母的轴 id,则该轴将覆盖在相应的相同字母轴的顶部,两个轴的轨迹和轴都可见。如果为“False”,则此轴不会覆盖任何相同字母的轴。在这种情况下,对于具有重叠域的轴,只有编号最高的轴是可见的。

文档对我也没有太多说明。有人可以解密这个解释吗?谢谢。

import plotly.graph_objects as go

fig = go.Figure()

fig.add_trace(go.Scatter(
    x=[1, 2, 3],
    y=[4, 5, 6],
    name="yaxis1 data"
))


fig.add_trace(go.Scatter(
    x=[2, 3, 4],
    y=[40, 50, 60],
    name="yaxis2 data",
    yaxis="y2"
))

fig.add_trace(go.Scatter(
    x=[4, 5, 6],
    y=[40000, 50000, 60000],
    name="yaxis3 data",
    yaxis="y3"
))

fig.add_trace(go.Scatter(
    x=[5, 6, 7],
    y=[400000, 500000, 600000],
    name="yaxis4 data",
    yaxis="y4"
))


# Create axis objects
fig.update_layout(
    xaxis=dict(
        domain=[0.3, 0.7]
    ),
    yaxis=dict(
        title="yaxis title",
        titlefont=dict(
            color="#1f77b4"
        ),
        tickfont=dict(
            color="#1f77b4"
        )
    ),
    yaxis2=dict(
        title="yaxis2 title",
        titlefont=dict( …
Run Code Online (Sandbox Code Playgroud)

python plotly

2
推荐指数
1
解决办法
1370
查看次数