x/mobile/app 无法为 iOS 编译

x/mobile/app Can't be compiled for iOS

您使用的是哪个版本的 Go(go 版本)?

go version go1.9 darwin/amd64
XCode Version 9.0 (9A235)

您使用的是什么操作系统和处理器架构 (go env)?

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/users/sh.garatuev/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/3l/h5gppnys24d6rkswsm0079mr0000gp/T/go-build268352381=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

你做了什么?

运行 gomobile bind -target ios 一个功能最简单的包。

package mSensor

import (
    "fmt"

    _ "golang.org/x/mobile/app"
)

func HelloGo() {
    fmt.Println("Hello Go!")
}

您希望看到什么?

有望成功绑定包用于XCode9.0

你看到了什么?

gomobile: darwin-x86_64: go build -pkgdir=/users/sh.garatuev/go/pkg/gomobile/pkg_darwin_amd64 -tags ios -buildmode=c-archive -o /var/folders/3l/h5gppnys24d6rkswsm0079mr0000gp/T/gomobile-work-272988193/mSensor-amd64.a /var/folders/3l/h5gppnys24d6rkswsm0079mr0000gp/T/gomobile-work-272988193/src/iosbin/main.go failed: exit status 2
# golang.org/x/mobile/app
../../golang.org/x/mobile/app/darwin_amd64.go:16:9: fatal error: 'Carbon/Carbon.h' file not found
#import <Carbon/Carbon.h> // for HIToolbox/Events.h
        ^~~~~~~~~~~~~~~~~

产生了 1 个错误。

我在 github 上创建了 issue。有什么帮助吗?

只需排除 "golang.org/x/mobile/app" 导入和构建即可。此导入仅对 Android 构建是必需的。