【问题标题】:How to debug build faild in ios for nativescript apps?如何在 ios 中为 nativescript 应用程序调试构建失败?
【发布时间】:2020-05-19 13:43:51
【问题描述】:

我刚刚运行tns run ios --emulator,我得到了这个:

/Users/me/Desktop/proj/projfront/App/platforms/ios/Pods/MBProgressHUD/MBProgressHUD.m:87:34: error: no known class method for selector
      'labelColor'
       _contentColor = [[UIColor labelColor] colorWithAlphaComponent:0.7f];
                                 ^~~~
/Users/me/Desktop/proj/projfront/App/platforms/ios/Pods/MBProgressHUD/MBProgressHUD.m:378:101: error: use of undeclared identifier
      'UIActivityIndicatorViewStyleLarge'
                activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleLarge];
                                                                                                    ^
/Users/me/Desktop/proj/projfront/App/platforms/ios/Pods/MBProgressHUD/MBProgressHUD.m:1065:32: error: use of undeclared identifier
      'UIBlurEffectStyleSystemThickMaterial'
            _blurEffectStyle = UIBlurEffectStyleSystemThickMaterial;
                               ^
3 errors generated.
note: Using new build systemnote: Planning buildnote: Constructing build description
* BUILD FAILED *

Unable to apply changes on device: 96EBA70E-38D5-4C6A-B30B-21BECF697C9C. Error is: Command xcodebuild failed with exit code 65.

我不知道如何调试它。它在 Android 上构建得很好。 这是我的 package.json:

{
  "nativescript": {
    "templateVersion": "v2",
    "tns-android": {
      "version": "6.0.0"
    },
    "tns-ios": {
      "version": "6.0.1"
    }
  },
  "dependencies": {
    "@nativescript/theme": "^2.2.1",
    "@nstudio/nativescript-cardview": "^1.0.0",
    "@nstudio/nativescript-checkbox": "^1.0.0",
    "@nstudio/nativescript-floatingactionbutton": "^2.0.0",
    "@nstudio/nativescript-loading-indicator": "^3.0.1",
    "axios": "^0.19.2",
    "nativescript-exoplayer": "^4.0.2",
    "nativescript-iqkeyboardmanager": "^1.5.1",
    "nativescript-masked-text-field": "^4.0.3",
    "nativescript-plugin-firebase": "^10.3.3",
    "nativescript-social-share": "^1.6.0",
    "nativescript-ui-autocomplete": "^6.0.0",
    "nativescript-vue": "^2.4.0",
    "tns-core-modules": "^6.0.0",
    "vuex": "^3.1.1"
  },
  "devDependencies": {
    "@babel/core": "^7.0.0",
    "@babel/preset-env": "^7.0.0",
    "babel-loader": "^8.0.2",
    "nativescript-dev-webpack": "^1.0.0",
    "nativescript-vue-template-compiler": "^2.0.0",
    "nativescript-worker-loader": "~0.9.0",
    "node-sass": "^4.9.2",
    "vue-loader": "^15.4.0"
  }
}

【问题讨论】:

  • 胡思乱想——像 UIBlurEffectStyleSystemThickMaterial 这样的东西只能在最新的 iOS 上使用,如果你的目标低于这个值就会失败?
  • 您能否确认您的 {N} 运行时版本和您正在使用的插件名称?
  • ✔ 组件 nativescript 有 6.3.3 版本并且是最新的。 ✔ 组件 tns-core-modules 有 6.3.2 版本并且是最新的。

标签: ios nativescript nativescript-vue


【解决方案1】:

labelColor 是 iOS 13 引入的新属性。您需要 XCode 11 才能为 iOS 13.x 及更高版本构建。也就是说,其中一个插件正在引入一个名为 MBProgressHUD 的 pod。该 pod 正在使用最新的 iOS API。但是您的构建很可能会失败,因为它是使用 XCode 10.x 或更低版本构建的。要解决此问题,请尝试使用 XCode 11 和最新的 tns-ios(6.3.x 及更高版本)+最新的 tns-core-modules 构建。

【讨论】:

  • 所以如果我坚持使用这个插件,IOS 版本低于 13 的人将无法使用我的应用程序?
  • 我怎么知道哪个插件正在使用它?
  • 只需搜索 MBProgressHUD - @nstudio/nativescript-loading-indicator
  • 能否请您也回答我的第一条评论?
  • 我有同样的问题,但我正在使用 Sidekick 云构建并且我有 xcode 11。我该怎么办?
猜你喜欢
  • 2019-02-25
  • 1970-01-01
  • 2019-08-04
  • 2018-11-27
  • 2018-04-30
  • 2020-03-16
  • 2020-05-05
  • 2017-07-03
  • 2019-08-13
相关资源
最近更新 更多