首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我要在SKAdNetworkInfo中XCode 10.2.1中的macOS Mojave 10.14.5中获得“预期返回字符串的函数中的错误返回”?

为什么我要在SKAdNetworkInfo中XCode 10.2.1中的macOS Mojave 10.14.5中获得“预期返回字符串的函数中的错误返回”?
EN

Stack Overflow用户
提问于 2022-06-03 11:42:09
回答 1查看 20关注 0票数 0

我只是在编译appodeal库,我还没有写过那段代码,为什么是抛出错误呢?我能纠正一下吗?XCode截图:https://imgur.com/a/isrPe07

代码语言:javascript
复制
//
//  SKAdNetworkInfo.swift
//  CriteoPublisherSdk
//
//  Copyright © 2018-2020 Criteo. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

import Foundation

struct SKAdNetworkInfo {
  let adNetworkIds: [String]
  let hasCriteoId: Bool

  init(bundle: Bundle = Bundle.main) {
    adNetworkIds = SKAdNetworkInfo.getAdNetworkIds(from: bundle)
    hasCriteoId = adNetworkIds.contains(CRSKAdNetworkInfo.CriteoId)
  }
}

extension SKAdNetworkInfo {
  struct Keys {
    static let items = "SKAdNetworkItems"
    static let identifier = "SKAdNetworkIdentifier"
  }

  static func getAdNetworkIds(from bundle: Bundle) -> [String] {
    (bundle.object(forInfoDictionaryKey: Keys.items) as? [[String: String]])?
      .compactMap { item in item[Keys.identifier] } ?? []
  }
}

let skanInfo = SKAdNetworkInfo()

@objc extension CRSKAdNetworkInfo {
  public static let CriteoId = "hs6bdukanm.skadnetwork"

  public class func hasCriteoId() -> Bool {
   skanInfo.hasCriteoId
  }

  public class func skAdNetworkIds() -> [String] {
    skanInfo.adNetworkIds
  }
}

错误:

函数中的“/Users/developer/Documents/SurBuild1/SurBuild2/Pods/CriteoPublisherSdk/CriteoPublisherSdk/Sources/SKAdNetwork/SKAdNetworkInfo.swift:41:3:”缺失返回函数中的“/Users/developer/Documents/SurBuild1/SurBuild2/Pods/CriteoPublisherSdk/CriteoPublisherSdk/Sources/SKAdNetwork/SKAdNetworkInfo.swift:51:3:”缺失返回函数中预期返回“Bool”Users/developer/Documents/SurBuild1/SurBuild2/Pods/CriteoPublisherSdk/CriteoPublisherSdk/Sources/SKAdNetwork/SKAdNetworkInfo.swift:55:3:的函数中缺少的返回函数中的“字符串”

来自外部库的代码如何会出现这样的编译错误?语言标准改变了还是发生了什么?我可以简单地添加一个“返回”指令使其工作吗?

EN

回答 1

Stack Overflow用户

发布于 2022-06-03 12:45:02

代码语言:javascript
复制
@objc extension CRSKAdNetworkInfo {
  public static let CriteoId = "hs6bdukanm.skadnetwork"

  public class func hasCriteoId() -> Bool {
   return skanInfo.hasCriteoId
  }

  public class func skAdNetworkIds() -> [String] {
    return skanInfo.adNetworkIds
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72489101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档