标签: ios15

为什么 SwiftUI UIHostingController 有额外的间距?

我正在尝试使用 UIHostingController 将 SwiftUI 视图添加到 UIKit 视图,并且它显示额外的间距(此示例是为了模拟生产应用程序上的问题而制作的)。这是屏幕截图。

在此输入图像描述

布局概览:

View
  UIStackView
    UIImageView
    UIView(red)
    UIHostingController
    UIView(blue)
Run Code Online (Sandbox Code Playgroud)

问题: 快速 UI 视图 (UIHostingController) 显示在红色和蓝色视图之间,它在分隔线之后显示额外的间距。间距根据 SwiftUI 视图的大小而变化。

如果我减少行数(Hello World 文本)或减少间距,它似乎工作正常。

这是完整的源代码(https://www.sendspace.com/file/ux0xt7):

ViewController.swift(主视图)

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var mainStackView: UIStackView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        addView()
    }


    private func addView() {
        mainStackView.spacing = 0
        mainStackView.alignment = .fill
        
        let imageView = UIImageView()
        imageView.image = UIImage(named: "mountain")
        imageView.contentMode = .scaleAspectFill
        imageView.clipsToBounds = true …
Run Code Online (Sandbox Code Playgroud)

autolayout swift swiftui uihostingcontroller ios15

19
推荐指数
3
解决办法
6566
查看次数

复制/粘贴在 M1 Macbook Pro 的 XCode 13 模拟器中不起作用

复制/粘贴在带有 M1 Macbook Pro 模拟器的 Xcode 13 上不起作用。它可以在普通的 Mac PC 上运行。

xcode ios ios-simulator ios15 xcode13

19
推荐指数
3
解决办法
9947
查看次数

Xcode 13/iOS15 的启动时间比预期要长,它显示 LLDB 相关消息

我在配备 macOS Big Sur 11.6 的 Macbook Pro (Intel/2019) 上使用 Xcode 13

我正在运行 iOS 15.0 的连接 iPhone X 上构建并启动该应用程序,同时我还在运行基于 XCUITest 的 UI 测试套件。

该应用程序需要很长时间才能启动(2 分钟以上),然后它会在启动屏幕上再停留 2-3 分钟。同时,Xcode 显示附加的警报:

Xcode 13:应用程序花费的时间比预期的要长

我有两个问题:

  1. 这是 Xcode 13 / iOS 15 中普遍存在的问题吗?
  2. 警报中的消息是什么意思:“LLDB 可能从设备内存中读取以解析符号”?我可以做些什么来减少或避免这种等待吗?

xcode ios lldb ios15 xcode13

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

iOS 15 中 UIButton 图像行为发生变化?

我的代码很简单;我有一个 UIButton 的出口,button我正在代码中设置它的图像:

    let jack = UIImage(named:"jack.png")
    self.button.setImage(jack, for:.normal)
Run Code Online (Sandbox Code Playgroud)

问题是这并不像我预期的那样。我希望按钮图像的大小缩小到按钮大小,并且我希望它是模板图像(用继承的色调颜色着色)。相反,我看到的是原始图像,而且它是全尺寸的。这是 iOS 15 中的变化吗?

似乎是这样,因为如果我将项目的部署目标设置为 iOS 14 并在 iOS 14 模拟器上运行它,我确实会得到我期望的行为。

uibutton ios ios15

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

iOS 15 标签栏滚动到底部后透明

如何修复iOS 15标签栏滚动到底部后透明的问题:

iOS 15 透明标签栏

tabbar ios15

15
推荐指数
3
解决办法
4495
查看次数

SwiftUI Text iOS15:文本视图中的电子邮件或 URL 使用强调色呈现

在 iOS15 中运行以下代码时,内容中的 URL 或电子邮件地址的颜色使用强调色而不是前景色。我怎样才能覆盖它?

Text("Send a message to john@email.com to request support")
    .foregroundColor(.blue)
Run Code Online (Sandbox Code Playgroud)

iOS15 中文本视图是如何呈现的

swiftui swiftui-text ios15

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

如何测量 Xcode 13 / iOS15 中的能源使用情况?

我想确认我在 iOS 上开发的应用程序的电池使用情况,特别是在 Xcode 13 和 iOS 15 上。(注意:此应用程序之前在以前版本的 iOS 上没有显示电池使用问题。)

\n

以前,收集能源使用信息似乎有两种方法:

\n

#1. 在设备上的“设置”>“开发者”>“日志记录”下

\n
    \n
  • 根据标题为“直接在 iOS 设备上记录能源使用情况”部分中所述的Apple 文档。
  • \n
  • 但是,在 iOS15 上,即使在搜索时,我也无法在“开发人员”或“设置”下的任何位置找到任何用于登录的选项。
  • \n
\n

#2. 使用“能量日志”模板通过仪器进行分析

\n
    \n
  • 根据“使用能源诊断分析模板”部分中所述的Apple 相同文档。
  • \n
  • 虽然它在 Xcode 12 中仍然可用,但在 Xcode 13 中缺少此模板。当然,也无法使用 Xcode 12 分析 iOS15 设备。
  • \n
\n

深入研究Xcode 13 发行说明,我发现了以下内容:

\n
\n

仪器不再包含能量模板;请改用 Xcode Organizer 中的指标报告。(74161279)

\n
\n

当我在 Xcode(12 或 13)中访问管理器时,选择一个应用程序并单击该应用程序所有版本的“Energy”,它显示以下内容:

\n

没有报告能源日志

\n

Apple 的“分析运输应用程序的性能”文档说道:

\n
\n

“在某些情况下,该窗格显示\xe2\x80\x9c可用的使用数据不足,\xe2\x80\x9d,因为参与的用户设备可能没有报告足够的匿名数据。发生这种情况时,请尝试在几天后回来查看。”

\n
\n

经过一年多的生产并拥有足够的安装数量,我有一种感觉,等待几天可能没有多大作用。 …

battery instruments ios15 xcode13

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

iOS 15:当应用程序在 SwiftUI 中启动时如何显示 ATT 对话框

在 iOS 14 中,当应用程序在 SwiftUI 中启动时,它可以显示 ATT(应用程序跟踪透明度)对话框,如下所示。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    if #available(iOS 14, *) {
        ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
            // loadAd()
        })
    } else {
        // loadAd()
    }
    return true
}
Run Code Online (Sandbox Code Playgroud)

但是,在 iOS 15.0 中,它不起作用。苹果文档描述如下。

仅当应用程序状态为:UIApplicationStateActive 时才会提示调用 API。通过应用扩展调用 API 不会提示。 https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/3547037-requesttrackingauthorization

如何在 iOS 15 中应用程序启动时显示 ATT 对话框?

2021/9/28更新 我解决如下。

struct HomeView: View {
    var body: some View {
        VStack {
            Text("Hello!")
        }.onReceive(NotificationCenter.default.publisher(for: UIApplication.didBecomeActiveNotification)) { …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui apptrackingtransparency ios15

14
推荐指数
3
解决办法
9863
查看次数

启动 iOS 15 企业应用程序时弹出“此应用程序的开发人员需要更新它才能与此版本的 iOS 配合使用”的消息

我们有一个企业帐户,直到 iOS 14 都没有问题,但一旦用户将手机更新到 iOS 15,他们就会收到此警报。

此应用程序的开发人员需要更新它才能与此版本的 iOS 配合使用

现在,只有在 iOS 15 上运行的企业应用程序才会出现此问题。我做了一些研究并找到了这篇文章。https://developer.apple.com/documentation/xcode/using-the-latest-code-signature-format

在这里它指出

要检查名为 MyApp.app 的应用程序是否具有新签名,您可以使用

协同设计实用程序:%协同设计-dv /path/to/MyApp.app

在输出中查找字符串,例如 CodeDirectory v=20500。对于任何小于 20400 的 v 值,您需要重新签名您的应用程序。

我这样做了,我的输出确实是 v=20400。我已使用在 Mac OS 11.2.3 上运行的 Xcode 12.5 签署了该应用程序。我认为苹果文档对此不正确。(我可能是错的)

任何人都可以帮忙并告诉我,我们到底需要做什么才能解决这个问题?

编辑:我能够通过将操作系统升级到 Big Sur 来解决这个问题。Xcode 版本为 12.5。

xcode enterprise ios15

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

在 iOS 15 Safari 上动态设置指针事件是不可靠且不可预测的

在 iOS 15 上的 Safari 中,已应用容器中的链接在稍后设置为动态pointer-events: none;时不会变得可点击。事实上,在某些情况下确实如此,但这是非常不可预测的。例如,当容器是 an并且链接位于元素内部时,它们确实变得可点击。或者当链接有同级时。我知道这听起来很奇怪,但这是事实。我做了一个演示,所以你可以自己尝试一下:https://stackblitz.com/edit/web-platform-mdhjqs?file =index.htmlpointer-eventsallullibutton

我错过了什么吗?这是 iOS 15 上 Safari 独有的错误吗?

css safari pointer-events ios15

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