小编Eam*_*onn的帖子

userDidAcceptCloudKitShareWith 未被调用

func application(_ application: UIApplication, userDidAcceptCloudKitShareWith cloudKitShareMetadata: CKShare.Metadata) {...}
Run Code Online (Sandbox Code Playgroud)

在指向共享 cloudkit 记录的链接上单击“确定”后不会被调用。应用程序会打开,但这个函数(应该被调用)不会。

  • CKSharingSupported:YES 列在我的 info.plist 中
  • 我已将记录放入名为“sharedZone”的区域
  • SharedZone 显示在我的区域列表中,在我的私人数据库中。
  • 共享记录显示我被“邀请”
  • 尝试删除应用程序和云数据并重新安装,没有变化
func application(_ application: UIApplication, userDidAcceptCloudKitShareWith cloudKitShareMetadata: CKShare.Metadata) {
        print("you accepted something")



        let acceptShareOperation: CKAcceptSharesOperation = CKAcceptSharesOperation(shareMetadatas:[cloudKitShareMetadata])

        //acceptShareOperation.qualityOfService = .userInteractive

        acceptShareOperation.perShareCompletionBlock = {meta, share,
            error in
            print("share was accepted")
        }

        acceptShareOperation.acceptSharesCompletionBlock = {
            error in
            /// Send your user to where they need to go in your app
            print("share accepted completion block!")
        }

        CKContainer(identifier: cloudKitShareMetadata.containerIdentifier).add(acceptShareOperation)
    }
Run Code Online (Sandbox Code Playgroud)

预期结果:至少看到“你接受了某些东西”这一行打印在控制台上。

更新:恢复到 IOS11.3 不起作用。

更新:我下载了一个有人使用 …

ios swift cloudkit

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

标签 统计

cloudkit ×1

ios ×1

swift ×1