小编de.*_*de.的帖子

Xcode 12.5 中的 Xcode 两指滑动返回是否已损坏?

我经常使用两指滑动手势返回 Xcode。
至少我曾经是因为它似乎从几周以来就坏了。它没有退一步,现在似乎跳了两步,使我完全无法使用该功能。

我尝试过的:

  • 重启Xcode
  • 重启 Mac
  • 通过 ~/Library/Developer/Xcode 并删除或更改各种设置(变得绝望)

……但无济于事。

因此,我开始认为这是特定 Xcode 版本(我使用的是 12.5)中的实际软件错误,但似乎不太可能,因为即使在将构建提交给 QA 之前,工程师也应该很容易发现这样的问题——只是由开发人员构建 Xcode 版本,大概是使用 Xcode 本身。

有没有其他人经历过这种情况?是否有一些损坏的设置或缓存需要重置?或者是否可以支持这个假设,即这确实是一个软件错误,我们所能做的就是坐在我们的手上,尝试重新编程多年的肌肉记忆来control-command-left代替使用?

xcode

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

如何在 Xcode 15 中为带有 @Binding 的视图创建 SwiftUI #Preview

如果我想为包含 @Binding 的 SwiftUI 视图创建预览,我之前会编写如下内容:

struct SpecialButton_Preview: PreviewProvider {
    static var previews: some View {
        @State var value: Bool = true
        SpecialButton(isOn: $value)
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,Xcode 15 现在配备了新语法(#Preview),但当我尝试添加示例状态属性时,它不起作用:

#Preview {  // Error: Ambiguous use of 'Preview(_:traits:body:)'
    @State var value: Bool = true
    SpecialButton(isOn: $value)
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

ios swift swiftui xcode15

18
推荐指数
3
解决办法
9643
查看次数

不常见的自制错误:“未知命令:开关”

我正在尝试重新启动一些需要使用旧版本 openssl 的遗留项目。

我在这里找到了关于这个问题的很好的输入,它在我的一台机器上工作,但在另一台机器上没有,这给了我以下错误:

$  brew switch openssl 1.0.2t
Error: Unknown command: switch
Run Code Online (Sandbox Code Playgroud)

该错误似乎并不常见,在 google/stackoverflow 搜索中没有显示任何有用的信息。

到目前为止我尝试过的:

  • 解决了显示的所有警告 brew doctor
  • brew update && brew upgrade
  • 更新的 Xcode 命令行工具
  • 重新安装了openssl

我能做些什么来解决这个问题?

homebrew openssl macos-catalina

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

SwiftData 列表与 @Query 的绑定

从 Swift 5.5 开始,我们可以使用这样的绑定创建 SwiftUI 列表(例如,参见这个答案):

class Item {
    // ...
    var isOn: Bool
}

struct ContentView: View {
    @State private var items: [Item] = []
    var body: some View {
        NavigationView {
            List {
                ForEach($items) { $item in     // <--- list binding
                    Toggle(isOn: $item.isOn) {
                        Text("Vibrate on Ring")
                    }
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想用 SwiftData 做类似的事情,但出现错误:

struct ContentView: View {
    @Environment(\.modelContext) private var modelContext
    @Query private var items: [Item]
    var body: some View {
        NavigationView { …
Run Code Online (Sandbox Code Playgroud)

ios swift swift-data swiftui

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

带有UIRefreshControl的导航栏中的iOS 11 UISearchController会导致布局故障

我试图UIRefreshControl在表视图上使用新的searchControllerAPI navigationItem.
现在,当我设置hidesSearchBarWhenScrolling"下拉刷新"动画不再显示时,刷新控件只是在某一点弹出.

在此输入图像描述

它似乎是UIKit中的一个错误(与每年相同的程序).有没有人找到这个解决方案?

要重现此问题,请将其添加到全新的iOS 11"主/详细信息"示例项目中:

- (void)viewDidLoad {
    // [setup code here]

    self.refreshControl = [UIRefreshControl new];
    self.navigationItem.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
    self.navigationItem.hidesSearchBarWhenScrolling = NO; // <-- setting this causes jumpy UI
}
Run Code Online (Sandbox Code Playgroud)

uitableview uikit uirefreshcontrol uisearchcontroller ios11

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

Swift - 如何在 iOS 应用中检测 CarPlay 的连接/断开状态?

我正在开发支持 CarPlay 的音乐应用。有没有办法识别应用程序是否与 Carplay 连接/断开连接?我找不到任何有关此的有用文档。

非常感谢任何见解或文件。

ios carplay swift ios14

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

使用NSFileManager合并文件夹,仅覆盖现有文件

基本上我正在寻找一种方法来将文件系统中的两个文件夹与cocoa API合并:

我有一个包含文件和子文件夹的文件夹,我想将其复制到文件系统中的其他位置.
在我的目标路径中,已存在同名文件夹,该文件夹也可能包含文件和文件夹.

现在我想用我的源文件夹的新内容覆盖我的目标文件夹(或其子文件夹)中的现有文件,如果它们具有相同的名称.
我想要保留的所有其余文件都不会受到影响.

sourcefolder
   |
   - file1
   - subfolder
       - file2


destinationfolder
   |
   - file3
   - subfolder
       - file2
       - file4


resultingfolder
   |
   - file1
   - file3
   - subfolder
       - file2      <-- version from source folder
       - file4
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?非常感谢你的帮助!

macos cocoa nsfilemanager ios

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

无法获取版本 14.2 的设备 MacFamily20,1 的特征集

我收到针对全新 Xcode 12.3 iOS 项目的警告:

无法获取版本 14.2 的设备 MacFamily20,1 的特征集

在 Assets.xcassets 中

在此输入图像描述

我的构建目标是 MacBook Air M1 上的“我的 Mac(专为 iPad 设计)”

这是什么意思?我该如何摆脱它?

xcode ios swift

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

在iOS中自定义"可调整大小的图像"绘图

UIImage API提供了以某些区域被拉伸的方式调整图像大小的方法,而其他区域保持不变 - 非常适合可调整大小的UI元素的背景图像.

现在我正在寻找一种方法来为更复杂的背景图像定制此行为.

这是做什么的- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets;.透明区域保持不变,当视图大小改变时,红色区域被拉伸.

在此输入图像描述

这就是我想要的 - 对拉伸区域的细粒度控制:

在此输入图像描述

我想我必须通过覆盖-(void)drawRect:我的UIView子类的方法然后使用Quartz来绘制图像来做到这一点.

我只是无法弄清楚我必须使用哪种系统API.

任何人都可以给我一个提示如何实现这个目标吗?提前致谢!

objective-c uiimage quartz-2d ios

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

为什么不可靠地调用 UIApplicationDelegate 方法`application(_:configurationForConnecting:options:)`

问题:

我发现有关 AppDelegate 方法的一些意外行为application(_:configurationForConnecting:options:)

该文件指出:

UIKit 在创建新场景前不久调用此方法。

我希望每次启动应用程序时都是这种情况。
当我第一次启动我的应用程序时确实会调用该方法,但是对于所有后续启动,它不是.

复制:

我有一个非常简单的测试用例来重现:

  • Xcode 12 > 创建新项目 > iOS > 应用程序(UIKit/故事板)
  • 在方法中添加调试语句,AppDelegate如下所示:
      // from Apple's sample project:
      func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
          // Called when a new scene session is being created.
          // Use this method to select a configuration to create the new scene with.
          print("I was called!").  // <--- debugging statement
          return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) …
    Run Code Online (Sandbox Code Playgroud)

ios appdelegate swift uiscenedelegate xcode12

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