加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Cordova无法从CLI构建,但从XCode xcworkspace构建完美

发布时间:2020-12-14 19:10:35 所属栏目:百科 来源:网络整理
导读:我最近在我的cordova项目中添加了 https://github.com/chemerisuk/cordova-plugin-firebase-messaging,该项目依赖于框架 framework src="Firebase/Core" type="podspec" spec="~ 5.0"/ framework src="Firebase/Messaging" type="podspec" spec="~ 5.2"/ 我
我最近在我的cordova项目中添加了 https://github.com/chemerisuk/cordova-plugin-firebase-messaging,该项目依赖于框架

<framework src="Firebase/Core" type="podspec" spec="~> 5.0"/>
    <framework src="Firebase/Messaging" type="podspec" spec="~> 5.2"/>

我最初在Android上测试代码和一切,它就像一个魅力.

但是,在我尝试在iOS上测试我的更改时,我在运行cordova运行android或任何其他构建命令时很快遇到了一些问题.他们倾向于失败,错误暗指CocoaPods Linking问题.如:

platforms/ios/Pods/FirebaseCore/Firebase/Core/FIRNetwork.m:23:9: 
    fatal error: 'GoogleToolboxForMac/GTMNSData+zlib.h' file not found
#import <GoogleToolboxForMac/GTMNSData+zlib.h>

我找到了各种SO帖子,提到修复搜索路径或修改.m文件以引用相对路径(这是一个可怕的想法和太多的工作).

但这是问题所在,我知道这个项目是正确的.如果我打开我的.xcworkspace并从XCode运行它就可以完美运行!它仅在从命令行运行时出现问题.

Installed platforms:
android 7.1.0
ios 4.5.5

$cordova -version
8.0.0

Xcode 9.4.1
Build version 9F2000

$pod --version
1.5.3

我完全不知所措.任何帮助将不胜感激!

我的Podfile以防万一

# DO NOT MODIFY -- auto-generated by Apache Cordova
platform :ios,'8.0'
target 'VeociSTAGE' do
        project 'VeociSTAGE.xcodeproj'
        pod 'Firebase/Core','~> 5.0'
        pod 'Firebase/Messaging','~> 5.2'
        pod 'GoogleToolboxForMac','~> 2.1.4'
end

编辑:

Podfile.lock

PODS:
  - Firebase/Core (5.2.0):
    - Firebase/CoreOnly
    - FirebaseAnalytics (= 5.0.1)
  - Firebase/CoreOnly (5.2.0):
    - FirebaseCore (= 5.0.3)
  - Firebase/Messaging (5.2.0):
    - Firebase/CoreOnly
    - FirebaseMessaging (= 3.0.2)
  - FirebaseAnalytics (5.0.1):
    - FirebaseCore (~> 5.0)
    - FirebaseInstanceID (~> 3.0)
    - "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
    - nanopb (~> 0.3)
  - FirebaseCore (5.0.3):
    - "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
  - FirebaseInstanceID (3.1.0):
    - FirebaseCore (~> 5.0)
  - FirebaseMessaging (3.0.2):
    - FirebaseCore (~> 5.0)
    - FirebaseInstanceID (~> 3.0)
    - GoogleToolboxForMac/Logger (~> 2.1)
    - Protobuf (~> 3.1)
  - GoogleToolboxForMac (2.1.4):
    - GoogleToolboxForMac/Core (= 2.1.4)
    - GoogleToolboxForMac/Defines (= 2.1.4)
    - GoogleToolboxForMac/GeometryUtils (= 2.1.4)
    - GoogleToolboxForMac/KVO (= 2.1.4)
    - GoogleToolboxForMac/Logger (= 2.1.4)
    - "GoogleToolboxForMac/NSData+zlib (= 2.1.4)"
    - "GoogleToolboxForMac/NSDictionary+URLArguments (= 2.1.4)"
    - "GoogleToolboxForMac/NSFileHandle+UniqueName (= 2.1.4)"
    - "GoogleToolboxForMac/NSScanner+JSON (= 2.1.4)"
    - "GoogleToolboxForMac/NSString+HTML (= 2.1.4)"
    - "GoogleToolboxForMac/NSString+URLArguments (= 2.1.4)"
    - "GoogleToolboxForMac/NSString+XML (= 2.1.4)"
    - "GoogleToolboxForMac/NSThread+Blocks (= 2.1.4)"
    - GoogleToolboxForMac/Regex (= 2.1.4)
    - GoogleToolboxForMac/StringEncoding (= 2.1.4)
    - GoogleToolboxForMac/SystemVersion (= 2.1.4)
    - GoogleToolboxForMac/URLBuilder (= 2.1.4)
  - GoogleToolboxForMac/Core (2.1.4):
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - GoogleToolboxForMac/DebugUtils (2.1.4):
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - GoogleToolboxForMac/Defines (2.1.4)
  - GoogleToolboxForMac/GeometryUtils (2.1.4):
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - GoogleToolboxForMac/KVO (2.1.4):
    - GoogleToolboxForMac/Core (= 2.1.4)
    - GoogleToolboxForMac/DebugUtils (= 2.1.4)
  - GoogleToolboxForMac/Logger (2.1.4):
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - "GoogleToolboxForMac/NSData+zlib (2.1.4)":
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - "GoogleToolboxForMac/NSDictionary+URLArguments (2.1.4)":
    - GoogleToolboxForMac/DebugUtils (= 2.1.4)
    - GoogleToolboxForMac/Defines (= 2.1.4)
    - "GoogleToolboxForMac/NSString+URLArguments (= 2.1.4)"
  - "GoogleToolboxForMac/NSFileHandle+UniqueName (2.1.4)":
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - "GoogleToolboxForMac/NSScanner+JSON (2.1.4)":
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - "GoogleToolboxForMac/NSString+HTML (2.1.4)":
    - GoogleToolboxForMac/Core (= 2.1.4)
  - "GoogleToolboxForMac/NSString+URLArguments (2.1.4)"
  - "GoogleToolboxForMac/NSString+XML (2.1.4)":
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - "GoogleToolboxForMac/NSThread+Blocks (2.1.4)":
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - GoogleToolboxForMac/Regex (2.1.4):
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - GoogleToolboxForMac/StringEncoding (2.1.4):
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - GoogleToolboxForMac/SystemVersion (2.1.4):
    - GoogleToolboxForMac/Defines (= 2.1.4)
  - GoogleToolboxForMac/URLBuilder (2.1.4):
    - GoogleToolboxForMac/Core (= 2.1.4)
    - GoogleToolboxForMac/Defines (= 2.1.4)
    - "GoogleToolboxForMac/NSDictionary+URLArguments (= 2.1.4)"
    - "GoogleToolboxForMac/NSString+URLArguments (= 2.1.4)"
  - nanopb (0.3.8):
    - nanopb/decode (= 0.3.8)
    - nanopb/encode (= 0.3.8)
  - nanopb/decode (0.3.8)
  - nanopb/encode (0.3.8)
  - Protobuf (3.6.0)

DEPENDENCIES:
  - Firebase/Core (~> 5.0)
  - Firebase/Messaging (~> 5.2)
  - GoogleToolboxForMac (~> 2.1.4)

SPEC REPOS:
  https://github.com/cocoapods/specs.git:
    - Firebase
    - FirebaseAnalytics
    - FirebaseCore
    - FirebaseInstanceID
    - FirebaseMessaging
    - GoogleToolboxForMac
    - nanopb
    - Protobuf

SPEC CHECKSUMS:
  Firebase: 25ed0412036d7d008568d1fb4d2e9d81ea8a0a2c
  FirebaseAnalytics: b3628aea54c50464c32c393fb2ea032566e7ecc2
  FirebaseCore: a3c87242451633fff8490183898075ce77d168d2
  FirebaseInstanceID: 05d779cbb97bd5bd5c51a38a903fc9cfe1b2454a
  FirebaseMessaging: 6894b8fe0a0cf26c3b13dad729f1131654ae0bdb
  GoogleToolboxForMac: 91c824d21e85b31c2aae9bb011c5027c9b4e738f
  nanopb: 5601e6bca2dbf1ed831b519092ec110f66982ca3
  Protobuf: 0fc0ad8bec688b2a3017a139953e01374fedbd5f

PODFILE CHECKSUM: 6a610b85e4adb104d20d7784dc2566b45be5418c

COCOAPODS: 1.5.3

编辑

这是我刚刚运行的有趣的事情xcodebuild -workspace Project.xcworkspace -scheme Project并且它已成功构建.我有一种感觉,cordova的目标是.xcodeproj,而不是.xcworkspace.更多的调查来……

编辑
它不是针对xcodeproj而是针对xcworkspace但是在platform / ios / cordova / lib / build.js中指定的.xcconfig似乎存在问题

解决方法

这是一个 known issue.

问题似乎与使用-xcconfig标志的cordova构建命令有关,并且该标志由于某种未知原因导致问题.目前正在调查中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读