小编Der*_*nce的帖子

在App Delegate文件中初始化Google Mobile Ads SDK的最新正确语法是什么?

突然,我收到用于初始化Google Mobile Ads SDK的代码的警告。(它已经工作了几周,没有任何警告,但是现在看来,这是一种编写代码的新方法。)

这是我的代码:

GADMobileAds.configure(withApplicationID: "ca-app-pub-################~##########")
Run Code Online (Sandbox Code Playgroud)

但是它给了我这个警告:不建议使用“ configure(withApplicationID :)”:使用[GADMobileAds.sharedInstance startWithCompletionHandler:]

我试图这样重写它(带或不带方括号):

GADMobileAds.sharedInstance startWithCompletionHandler: "ca-app-pub-################~##########"
Run Code Online (Sandbox Code Playgroud)

但这只是给我一个预期的错误。

我该怎么写?谢谢!

Xcode中Pods文件夹中的文件显示修改后的状态

xcode swift4

9
推荐指数
1
解决办法
2097
查看次数

为什么我的 Firebase Cron Scheduled Cloud Function 在太平洋时间而不是 UTC 时间运行?

我有一个计划的云功能(使用Google 的新解决方案),计划在每周一凌晨 12:00 运行。

export const updateHighScores = functions.pubsub.schedule('0 0 * * 1').onRun((context) => {

    // (code)
    // console.log(‘This code will run every Monday at 12:00 AM UTC’);

});
Run Code Online (Sandbox Code Playgroud)

功能仪表板

我原以为它会在 UTC 时间凌晨 12:00 运行;然而,当午夜 UTC 到来时,什么也没发生。所以我上床睡觉,为我预定的云功能不起作用而感到难过,但决定继续努力。

但是第二天我检查了日志,看起来它确实有效,但它在太平洋时间上午 12:00 运行。

功能日志

  • Cloud Function 的区域设置为 us-central1,但我认为这不会影响到这一点。
  • 我的电脑时区设置为太平洋时间,我位于中部时间,但我认为两者都不重要。
  • 我还点击了 Firebase 和 Google Cloud Platform,看看我是否有影响它的设置,但没有找到任何东西。

知道为什么这在太平洋时间午夜而不是 UTC 运行吗?

(我将通过更改所有这些变量并观察它如何影响预定的云函数来进行大量猜测和检查,但如果有人知道的话,我不妨在这里问一下。谢谢! )

cron firebase google-cloud-functions google-cloud-scheduler

2
推荐指数
2
解决办法
2448
查看次数

使用queryOrderedByChild获取最高得分列表时,如何以正确的顺序显示并列得分?

我的应用程序有一个最高得分表,该表使用.queryOrdered(byChild:“ userHighScore”)和.queryLimited(toLast:100)来获得最高100分:

func getTopScores() {
    var scores = [String]()

    self.reference
        .child("users")
        .queryOrdered(byChild: "userHighScore")
        .queryLimited(toLast: 100)
        .observeSingleEvent(of: .value, with: { (snapshot) in

            for child in snapshot.children.reversed() {

                if let dataSnapshot = child as? DataSnapshot, let user = dataSnapshot.value as? [String:AnyObject] {

                    if let userHighScore = user["userHighScore"] as? Int {
                        var stringToAppend = "\(scores.count+1). "


                        if let userName = user["userName"] as? String {
                            stringToAppend += " \(userName)   •  \(userHighScore)"
                        }

                        scores.append(stringToAppend)
                    }
                }
            }
        })
    }
Run Code Online (Sandbox Code Playgroud)

问题是当有平局得分时。

理想情况下,第一个获得该分数的用户应高于表中具有相同分数的其他用户(而获得该分数的最新用户将是拥有相同分数的用户中最低的)。

但是,该表以与Firebase实时数据库中出现的相同的随机顺序显示得分相同的得分。

有没有办法按时间顺序排序并列分数?

我已经为此花了好几个小时。在此先感谢您的帮助!

firebase swift

1
推荐指数
1
解决办法
84
查看次数

我怎样才能在 9、109 和 209 等处做某事,在 99、199 和 299 等处做其他事情,以及在以 9 结尾的所有其他动作中执行一系列其他动作?

每次得分达到以 09 结尾的数字时,我都会播放 1 个声音。

我还有 4 种声音,每次乐谱达到以 19、29、39、49、59、69、79 和 89 结尾的数字时,它们会依次播放。

然后我有 1 个声音,每次得分达到以 99 结尾的数字时都会播放。

我的代码有效,但我觉得应该有一种更优雅的方法。

          if (score == 9 || score == 109 || score == 209 ...) {
            play('sound1.mp3');
          }
          if (score == 19 || score == 59 || score == 119 || score == 159 ...) {
            play('sound2.mp3');
          }
          if (score == 29 || score == 69 || score == 129 || score == 169 ...) {
           play('sound3.mp3');
          }
          if (score == 39 || score …
Run Code Online (Sandbox Code Playgroud)

math if-statement dart

0
推荐指数
1
解决办法
28
查看次数