小编Rap*_*ael的帖子

Xcode 突然无法获取 Swift 包修订版:“无法获取修订版”

我在 Xcode 中打开了一个项目,该项目依赖于RxSwift通过内置 Swift 包管理器作为 Swift 包包含在内的项目。\n几周前我创建该项目时,它运行良好。

\n

现在突然间,当尝试构建和运行我的项目时,我收到一条有关该 Swift 包的错误消息:

\n

Couldn\xe2\x80\x99t get revision \xe2\x80\x986.5.0^{commit}\xe2\x80\x99

\n

我尝试清理构建文件夹,但仍然会出现相同的错误。

\n

我的互联网连接工作正常,所以这不是网络问题。

\n

我也很惊讶 Xcode 会尝试再次获得修订版,因为没有更新有问题的包,RxSwift是在上次构建正常工作到今天之间发布的。因此,我假设本地缓存的任何内容都应该仍然存在并且正常运行。

\n

到目前为止,我找不到有关此错误消息的任何其他报告。

\n

xcode ios swift swift-package-manager

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

如何在没有撰写视图的情况下打开 iOS 14 上的默认邮件应用程序?

我想在 iOS 14 上打开用户选择的默认邮件应用程序 - 但不显示撰写视图。注册帐户后,用户应该确认他们的电子邮件地址,因此我想将用户引导到那里。

根据我发现的其他问题,似乎有两种已知的方法:

UIApplication.shared.open(URL(string: "mailto://")!)

UIApplication.shared.open(URL(string: "message://")!)

第一个选项的问题在于,它将在应用程序中打开一个空的撰写邮件视图,要求用户输入新电子邮件。那不是我想要的。这会让用户感到困惑,他们认为必须向我们发送电子邮件。通过 mailto URL 语法的参数输入一些文本,我基本上用一些文本预先填充邮件撰写视图,指示放弃新的电子邮件草稿并要求检查他们的电子邮件,这可以作为一种解决方法,但不是很好。

第二个选项的问题是,即使这不是默认的邮件应用程序,它也会始终打开 Mail.app,并且如果用户从手机中删除 Mail.app,它可能会要求用户安装 Mail.app,因为他们选择了例如Protonmail 作为他们的默认邮件应用程序。对于不主要使用 Mail.app 的人来说,这也不是一个很好的选择。

因此,其他人提出的两种方法都不能很好地解决我的问题。

解决这个问题的最佳方法是什么?

是否有一些应用程序可以查询 iOS 的默认邮件应用程序,以便至少我可以尝试启动该应用程序(如果我知道该应用程序的自定义 URL 方案(例如googlegmail://))?

ios swift

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

ActivityKit (iOS 16.2 / 16.4) 中的 staleDate 似乎没有效果

我有一个实时活动,需要经常更新它,例如每分钟或每隔几分钟,就像 Uber 应用程序更新其实时活动以向您显示行程进度一样。我知道推送通知是一种通用的替代方案,但我想首先了解本地路径,因为当前的文档(从 iOS 16.4 / Xcode 14.3 开始)似乎建议我使用staleDate+ 后台任务是 Apple 推荐的一种方法即使文档没有具体说明更新之间的频率/时间间隔,也要保持您的活动更新。

首先,我像这样设置我的活动:

if ActivityAuthorizationInfo().areActivitiesEnabled {
            let state = MyAttributes.ContentState(info: info)
            let attributes = MyAttributes(name: "test")
            let content = ActivityContent(state: state, staleDate: Date(timeIntervalSinceNow: Self.activityUpdateTimeInterval)) // e.g. 60 seconds
            currentActivity = try Activity.request(attributes: attributes, content: content)
            observeActivityStateUpdates()
}
Run Code Online (Sandbox Code Playgroud)

在第二个函数中,observeActivityStateUpdates我试图观察activityStateUpdates流的变化:

private func observeActivityStateUpdates() {
    Task { [weak self] in
        guard let activityStateUpdates = self?.currentActivity?.activityStateUpdates else { return }
        for await update in activityStateUpdates {
            print("LiveActivity: new …
Run Code Online (Sandbox Code Playgroud)

ios activitykit

6
推荐指数
0
解决办法
501
查看次数

在 iOS 13/14 上删除应用程序时,UserDefaults 是否会被擦除?

当我使用 plainUserDefaults而不使用任何其他框架且不使用NSUbiquitousKeyValueStore,从手机中删除该应用程序后,UserDefaults 是否会保留在 iCloud 中,并在重新安装该应用程序时从 iCloud 中恢复?

我在文档中读到,通常 UserDefaults 包含在(iCloud)备份中。因此,如果用户安装该应用程序,该应用程序会存储一些 UserDefaults,用户进行 iCloud 备份,然后从该备份恢复手机,UserDefaults 应该会再次存在。

但是,如果用户故意从手机中删除我的应用程序,然后从商店重新安装它,UserDefaults 是否仍然存在(从 iCloud 恢复),或者它们是否会因应用程序删除而被清除,并且不会因重新安装而恢复?

用户是否必须从 iCloud 设置应用程序中额外删除我的应用程序的 iCloud 数据才能摆脱 UserDefaults,或者是否会删除应用程序(而不是移至应用程序库)?

我基本上想在用户从手机中删除应用程序后从零开始。

iOS 13 和 iOS 14 有什么不同吗?

ios icloud swift

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

标签 统计

ios ×4

swift ×3

activitykit ×1

icloud ×1

swift-package-manager ×1

xcode ×1