【问题标题】:install package socket.io-client-swift xcode 12安装包 socket.io-client-swift xcode 12
【发布时间】:2021-05-14 22:30:02
【问题描述】:

我需要用 carthage 安装包https://github.com/socketio/socket.io-client-swift 使用 Xcode 12 项目。

我有一个 CartFile :

github "socketio/socket.io-client-swift" ~> 15.0.0

我试过这个命令:

carthage update --platform iOS --use-xcframeworks

我试试:

  • 在我的主项目中将“仅构建架构”修改为“否”
  • 在依赖“红蜘蛛”项目中将“仅构建架构”修改为“否”

但我总是有同样的错误:

CompileSwift normal i386 (in target 'SocketIO' from project 'Socket.IO-Client-Swift')
    cd /Users/admin/Documents/test2/Carthage/Checkouts/socket.io-client-swift
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c /Users/admin/Documents/test2/Carthage/Checkouts/socket.io-client-swift/Source/SocketIO/Engine/SocketEngine.swi$
/Users/admin/Documents/test2/Carthage/Checkouts/socket.io-client-swift/Source/SocketIO/Engine/SocketEngine.swift:27:8: error: could not find module 'Starscream' for target 'i386-apple-ios-simulator'; found: arm64, armv7-$
import Starscream

也许我需要在一些环境或/和自定义文件中创建一个 ${ARCHS_STANDARD} ?

【问题讨论】:

    标签: ios macos xcode12 carthage


    【解决方案1】:

    我发现Carthage在很多情况下都没有正确设置FRAMEWORK_SEARCH_PATHS,这对我来说导致Socket.IO在编译时找不到红蜘蛛。

    这是一个可用于设置 FRAMEWORK_SEARCH_PATHS 的解决方法脚本:

    # carthage.sh
    # Usage example: ./carthage.sh build --use-xcframeworks --platform iOS
    
    set -euo pipefail
    
    xcconfig=$(mktemp /tmp/static.xcconfig.XXXXXX)
    trap 'rm -f "$xcconfig"' INT TERM HUP EXIT
    
    echo "FRAMEWORK_SEARCH_PATHS=\$(inherited) $(pwd)/Carthage/Build" >> $xcconfig
    # echo 'BUILD_LIBRARY_FOR_DISTRIBUTION=YES' >> $xcconfig # You may or may not need this depending on your project setup
    
    export XCODE_XCCONFIG_FILE="$xcconfig"
    carthage "$@"
    

    【讨论】:

      猜你喜欢
      • 2015-04-03
      • 2016-12-16
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 2021-03-31
      • 2021-09-18
      • 1970-01-01
      • 2018-08-21
      相关资源
      最近更新 更多