标签: ios14

fetchUserRecordID Cloudkit 错误:无法获取容器配置

我的应用程序是用 SwiftUI 编写的,使用 Cloudkit 来存储核心数据中的记录。我能够获取用于@FetchRequest填充列表的记录。现在我想获取当前用户的 iCloud ID 并将其与另一个全局 ID 进行比较,但我遇到了问题fetchUserRecordID...

查看 Cloudkit Dashboard 的记录类型时,我可以看到用户记录Users。但每次运行下面的代码时,我都会收到以下错误:“无法从容器“iCloud.com.my_container_name”的服务器获取容器配置”

我正在运行 Xcode 12.2 Beta 4

ContentView.swift

struct ContentView: View {
    
    @Environment(\.managedObjectContext) private var viewContext

    init() {
        isCreator()
    }
    
    
    var body: some View {
   
      Text("Hello World")   

    }

    func isCreator() {
        
        CKContainer.default().fetchUserRecordID(completionHandler: { (recordId, error) in
            
            guard let record = recordId, error == nil else {
                print("Error: \(error!.localizedDescription)")
                return
            }
            
            print("Found record")
            // Now do something with record...
            
        })
        
    }

} // …
Run Code Online (Sandbox Code Playgroud)

core-data cloudkit swiftui ios14

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

SwiftUI - 如何使用 Shape 制作垂直虚线?

struct DottedLine: Shape {
        
    func path(in rect: CGRect) -> Path {
        var path = Path()
        path.move(to: CGPoint(x: 0, y: 0))
        path.addLine(to: CGPoint(x: rect.width, y: 0))
        return path
    }
}

DottedLine()
                .stroke(style: StrokeStyle(lineWidth: 1, dash: [2]))
                .frame(height: 1)
                .foregroundColor(Color.red)
Run Code Online (Sandbox Code Playgroud)

这将创建一条水平虚线。但如何让它垂直呢?如果我将 Divider() 放入 HStack 中,那么它会变成垂直的,但如何用虚线实现相同的效果?

shapes ios swiftui ios14

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

是否可以从 swift 包加载 nib 文件?

我创建了一个 UICollectionView Xib 文件和类文件作为 swift 包。类文件中的方法是可以访问的,但我在项目中加载 nib 文件时遇到错误。

包链接: https: //github.com/PranayChander/package1

项目链接: https: //github.com/PranayChander/packman

导入 UIKit 导入包1

class ViewController: UIViewController {

    @IBOutlet weak var collectionView: UICollectionView!
    override func viewDidLoad() {
        super.viewDidLoad()
        collectionView.register(UINib(nibName: "PackageCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "cell")
    }
}

extension ViewController: UICollectionViewDataSource {
    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 10
    }
    
    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! PackageCollectionViewCell
        cell.configureCell(title: "Pram", subtitle: "dasd")
        return …
Run Code Online (Sandbox Code Playgroud)

package-managers ios uicollectionview swift-package-manager ios14

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

SwiftUI 菜单从上到下的顺序根据上下文而变化?

我想我知道这个问题的答案,但我会把它作为一个问题提出并给出我的答案,因为这对我来说有点令人困惑,并且我花了一些时间才弄清楚。

我刚刚开始Menu在 SwiftUI 中使用 's 。在我的第一个应用程序中,我在应用程序的导航栏中使用了它们。

            Menu {
                ForEach(pickers, id: \.mediaPickerUIDisplayName) { picker in
                    Button(action: {
                        viewModel.sheetToShow = .picker(picker)
                    }) {
                        Text(picker.mediaPickerUIDisplayName)
                    }.enabled(picker.mediaPickerEnabled)
                }
            } label: {
                SFSymbolIcon(symbol: .plusCircle)
            }
Run Code Online (Sandbox Code Playgroud)

看起来不错。

在此输入图像描述

然后,我更改了使用相同代码的上下文。我没有在导航栏中使用它,而是在屏幕中央使用它。相反,我看到:

在此输入图像描述

我感到不安的是,列表中项目从上到下的顺序发生了变化。

swift swiftui ios14

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

os.Logger (os_log) 忽略新的隐私字符串插值

在 iOS 14 模拟器上使用以下代码,所有日志语句都以明文形式打印。没有修改或散列发生。在 Xcode 控制台和 Mac 上的 Console.app 中。

是否还需要其他任何内容来测试修订是否有效?

let email = "apple@stackoverflow.com"
let logger = Logger()
logger.log("\(email, privacy: .auto)")
logger.log("\(email, privacy: .auto(mask: .hash))")
logger.log("\(email, privacy: .private)")
logger.log("\(email, privacy: .private(mask: .hash))")
Run Code Online (Sandbox Code Playgroud)

swift ios14

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

Facebook SDK 延迟深层链接在 iOS 14 中不起作用

我现有的和新的应用程序无法处理 iOS 14 上的延迟深层链接。直到我更新到 iOS 14 才发生这种情况。

步骤

  1. 使用应用广告助手中的深层链接测试器并发送延迟的深层链接。
  2. 点击通知并重定向到正确的 AppStore 应用页面
  3. 从 Xcode 构建并运行项目
  4. AppLinkUtility.fetchDeferredAppLink是所谓的,但urlerror始终为零。

deep-linking ios facebook-ios-sdk ios14

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

为什么新的 iOS 14 UIControl 动作语法如此糟糕?

iOS 14 中的新功能,我们可以将动作处理程序直接附加到 UIControl:

    let action = UIAction(title:"") { action in
        print("howdy!")
    }
    button.addAction(action, for: .touchUpInside)
Run Code Online (Sandbox Code Playgroud)

这很酷,但语法令人愤怒。我必须先形成 UIAction。我必须给 UIAction 一个标题,即使该标题永远不会出现在界面中。没有更好的办法吗?

uicontrol ios uiaction ios14

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

什么使临时的 Always 授权成为临时的?

根据 Apple 的说法,如果您在“未确定”授权时要求您的 Core Location 应用程序获得 Always 授权,则用户会看到“When In Use”授权对话框,但实际上您的应用程序获得了 Always 授权 - 临时授权。

这应该意味着如果您实际上不使用您的 Always 权力,您将失去它们,恢复到使用时。

好的,但是这种逆转何时会发生?我似乎无法让它发生。我的应用程序只是停留在 Always 授权,即使用户认为它只是 When In Use 授权。

这是我的测试应用程序(iOS 14)的完整代码:

class ViewController: UIViewController, CLLocationManagerDelegate {
    @IBOutlet weak var label: UILabel!
    
    let locman = CLLocationManager()
    override func viewDidLoad() {
        super.viewDidLoad()
        locman.delegate = self
    }

    @IBAction func doAskForAlways(_ sender: Any) {
        self.checkForLocationAccess(always:true)
    }
    
    func checkForLocationAccess(always:Bool = false, andThen f: (()->())? = nil) {
        let status = self.locman.authorizationStatus()
        switch status {
        case .authorizedWhenInUse: …
Run Code Online (Sandbox Code Playgroud)

authorization core-location ios ios14

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

使用 IOS 13 编译的应用程序的 IOS14 跟踪权限

在 IOS14 中,为了使用Advertising Identifier您需要请求许可,但是 AppStore 上已经可用的应用程序的行为是什么(使用 IOS13 SDK 编译)?

我已将设备更新到 IOS14 Beta 4 并从 AppStore 下载了应用程序。打开应用程序后,它不会自动要求任何跟踪权限,Advertising Identifier而是00000-0000-0000.

这是否意味着我必须提交使用 IOS14 SDK 编译的应用程序更新并请求跟踪许可,否则Advertising Identifier将不可用?

permissions tracking ios idfa ios14

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

如何在 iOS14 上检测 5G(NR)?

苹果会在今年发布iPhone12,iPhone12(一些更高的设备类型)可以支持5G功能,我认为iPhone12应该是基于iOS14平台的,所以我查看了iOS14 API,但我们找不到任何关于 5G 的新 API。有人知道iPhone12的5G检测的一些信息吗?

感谢任何人提供的信息!

iOS14 API 差异:https : //developer.apple.com/documentation/technologies? changes = latest_major

5g ios14

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