小编Cri*_*sei的帖子

更新到 iOS 14 和 Xcode 12 后应用程序启动时间变慢

我注意到自从将我的设备更新到 iOS 14 并使用 Xcode 12 以来,我的应用程序的启动时间显着增加(现在需要整整一分钟,而之前需要几秒钟)。我尝试了几个 Xcode 12 beta 并在模拟器中运行了该应用程序而没有问题,但是公开发布似乎带来了这个问题。

我测试了我的几个应用程序,它们都面临这个问题。再次运行应用程序(没有 Xcode)是即时的,即使在重新启动设备之后也是如此。

需要明确的是,我不是在这里谈论构建时间,这是在启动画面出现并且 Xcode 的状态为“在 iPhone 上运行”后应用程序启动所需的时间

有没有其他人遇到过这个问题,或者它可能与我的机器有关吗?

xcode ios ios14 xcode12

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

UITableViewAlertForLayoutOutsideViewHierarchy错误:仅警告一次(iOS 13 GM)

执行Segue时,iOS13出现了一个奇怪的错误,我无法弄清这是什么意思,也找不到有关此错误的任何文档。问题在于,这似乎会导致很大的延迟(几秒钟),直到执行segue。

2019-09-11 22:45:38.861982 + 0100 Thrive [2324:414597] [TableView]仅警告一次:通知UITableView布局其可见单元格和其他内容,而不必使用视图层次结构(表视图或其其中之一)超级视图尚未添加到窗口中)。这可能会由于迫使表视图内的视图在没有准确信息(例如表视图边界,特征收集,布局边距,安全区域插图等)的情况下加载和执行布局而导致错误,并且还会由于额外的布局传递而导致不必要的性能开销。在UITableViewAlertForLayoutOutsideViewHierarchy上创建一个符号断点,以在调试器中捕获该断点,并查看引起此情况的原因,因此,如果可能,您可以完全避免执行此操作,或者将其推迟到将表视图添加到窗口中。表格视图:层=; contentOffset:{0,0}; contentSize:{315,118}; AdjustedContentInset:{0,0,0,0}; dataSource:>

我正在使用Hero,但是我尝试禁用它并使用常规的Segue,但这并没有阻止这种滞后。

启动segue的代码是didSelectRowAt

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        if indexPath.section == 0 {
            selectedCell = realIndexFor(activeGoalAt: indexPath)
            performSegue(withIdentifier: "toGoalDetails", sender: nil)
        } else if indexPath.section == 1 {
            selectedCell = indexPath.row
            performSegue(withIdentifier: "toIdeaDetails", sender: nil)
        } else {
            selectedDecision = indexPath.row
            hero(destination: "DecisionDetails", type: .zoom)
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后,目标VC的viewDidLoad或viewWillAppear中的任何代码都不会以任何方式影响这一点(我尝试将它们全部注释掉,没有任何区别。

知道是什么原因造成的吗?我可以分享任何其他需要的细节。

谢谢。

tableview ios swift ios13

8
推荐指数
5
解决办法
3310
查看次数

当动态标签足够小时,在滚动视图中垂直居中UIView,但是一旦它们没有,就将它对齐到顶部

我有一个视图,里面有3个动态标签,我试图找到一种方法在滚动视图中垂直居中,但当它的动态标签太大而无法放在页面上时,请从顶部开始.Xcode目前正在做的是这样的:

在此输入图像描述

我想要做的是这样的:

在此输入图像描述

关于如何实现这一点的任何想法?谢谢.

xcode label uiscrollview autolayout swift

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

Apple 脚本:如何删除文件

我试图删除每次重新启动计算机时都会显示的隐藏文件,并将 Apple 脚本设置为在启动时运行。然而,我似乎无法正确猜测该文件的路径。

文件的路径是Macintosh HD/Users/cristian/Dropbox (Hyperion)/Hyperion Team 文件夹/图标

如果我将文件移动到桌面并运行下面的脚本,它就会起作用。

tell application "Finder"
    delete the file "Icon
" of the desktop
end tell
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何更改此脚本以定位上面的路径?另外,有什么办法可以永久删除它,而不仅仅是将其移至垃圾箱吗?

提前致谢。

applescript

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

我试图在 ubiquitousItemDownloadingStatusKey 为“当前”时运行函数

我正在尝试在我的应用程序的 iCloud 无处不在容器中下载一个目录,并且我想在下载完成时调用一个函数。我可以得到这样的状态:

func synciCloud(){
    do { try FileManager.default.startDownloadingUbiquitousItem(at: documentsPath)
        do {
            let status = try documentsPath.resourceValues(forKeys: [.ubiquitousItemDownloadingStatusKey])
            print(status)
        }
        catch let error { print("Failed to get status: \(error.localizedDescription)") }
    }
    catch let error { print("Failed to download iCloud Documnets Folder: \(error.localizedDescription)") }
}
Run Code Online (Sandbox Code Playgroud)

控制台打印:

URLResourceValues(_values: [__C.NSURLResourceKey(_rawValue: NSURLUbiquitousItemDownloadingStatusKey): NSURLUbiquitousItemDownloadingStatusCurrent], _keys: 设置([__C.NSURLResourceKey(_rawValue: NSURLUbiquitousItemDownloadingStatusKey)]))

我感到困惑的是 NSMetadata 的语法以及如何执行我的函数。我的第一个想法是做类似下面代码的事情,但我不知道如何去做:

if status.ubiquitousItemDownloadingStatus == ???? { function() }
Run Code Online (Sandbox Code Playgroud)

任何建议,将不胜感激。

谢谢。

nsfilemanager icloud swift

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

HTML 图像上的可点击热点

有没有办法在 JPEG 图像上创建可点击的热点,以便导航到不同的图像/页面?我希望无需手动编写所有内容即可实现此目标,而 InVision 有很多限制。

任何建议,将不胜感激。

html image area clickable

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