小编Joa*_*ona的帖子

UIView中的safeAreaInsets在iPhone X上为0

我正在更新我的应用程序,以适应iPhone X.所有视图现在工作正常,除了一个.我有一个视图控制器,提供覆盖整个屏幕的自定义UIView.在我使用UIScreen.main.bounds之前,在完成所有布局之前找出视图的大小(我需要它来为collectionView放置正确的itemSize).我想现在我可以做一些类似于 UIScreen.main.bounds.size.height - safeAreaInsets.bottom获得正确可用尺寸的东西.问题是,safeAreaInsets在iPhone X(模拟器)上尝试返回(0,0,0,0).有任何想法吗?在其他视图中,我得到了safeAreaInsets的正确数字.

谢谢!

iphone ios swift iphone-x

59
推荐指数
6
解决办法
3万
查看次数

如何为 WidgetKit 异步下载图像

我正在为 iOS 开发小部件,但我真的不知道如何为小部件下载图像。

小部件当前下载一组对象,每个对象都有一个图像的 URL。这个想法是每个对象都SimpleEntryTimeline.

实现这一目标的最佳方法是什么?我读到 Widgets 不应该使用ObservableObject. 我在时间线提供程序中获取了一组对象,这似乎是 Apple 推荐的。但是我是否也在那里下载图像并等待所有完成后发送时间线?

任何建议都会非常有帮助,

ios widgetkit urlsession swiftui

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

所需条件为假:我的 iPhone 11 Pro 中的 format.sampleRate == hwFormat.sampleRate

我正在使用AVAudioSessionAVAudioInputNode在 iOS 中录制语音。

为了初始化它,我使用了以下设置,效果很好:

[AVFormatIDKey: kAudioFormatLinearPCM, AVLinearPCMBitDepthKey: 16, AVLinearPCMIsFloatKey: true, AVSampleRateKey: Float64(8000), AVNumberOfChannelsKey: 1] as [String : Any]
Run Code Online (Sandbox Code Playgroud)

现在,在我的新 iPhone 11 Pro 中,使用此代码我会因以下错误而崩溃: required condition is false: format.sampleRate == hwFormat.sampleRate

避免它的方法是从以下设置采样率AVSession

[AVFormatIDKey: kAudioFormatLinearPCM, AVLinearPCMBitDepthKey: 16, AVLinearPCMIsFloatKey: true, AVSampleRateKey: AVAudioSession.sharedInstance().sampleRate, AVNumberOfChannelsKey: 1] as [String : Any]
Run Code Online (Sandbox Code Playgroud)

该代码适用于我的 iPhone 11 Pro,但现在它在其他设备上崩溃了。

知道如何为每个人修复它吗?为什么会这样?发生了什么变化?

谢谢!

avaudioplayer avaudiorecorder ios avaudiosession avaudioengine

8
推荐指数
0
解决办法
523
查看次数

如何从 S3 流式传输 MP4 视频,而无需 AVPlayer 在播放前下载文件?

我在公共 S3 存储桶中有很多长(45 分钟 - 90 分钟)MP4 视频,我想使用AVPlayer.

我经常AVPlayerViewController播放它们,但我需要等待几分钟才能开始播放,因为它会下载整个视频而不是流式传输。

我在本地缓存它,所以这只是第一次发生,但我很想流式传输视频,这样用户就不必等待整个视频下载。

有些人指出我需要 Cloudfront 来流式传输视频,但在文档中,我读到只有当很多人流式传输同一个文件时才需要这样做。我正在构建 MVP,所以我只需要一个简单的解决方案。

有没有办法从 S3 存储桶流式传输 MP4 视频,而AVPlayerViewController无需在向用户播放之前完全下载文件?

amazon-s3 amazon-web-services ios avplayer swift

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

在xcode上运行应用程序时录制iphone屏幕

我想测试一些用户的应用程序,我想在Xcode上运行应用程序时录制iphone屏幕.我想这样做,所以当我看到Xcode的所有输出和nslog时,我可以确切地看到用户一直在做什么.

有谁知道允许这个的任何软件?

谢谢!

iphone testing xcode screen ios

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

迦太基未安装最新版本

使用时出现此错误Carthage

Please update to the latest Carthage version: 0.34.0. You currently are on 0.27.0
Run Code Online (Sandbox Code Playgroud)

但是我已经安装了 0.34.0。如果我这样做brew info carthage打印:

carthage: stable 0.34.0 (bottled), HEAD
Decentralized dependency manager for Cocoa
https://github.com/Carthage/Carthage
/usr/local/Cellar/carthage/0.34.0 (8 files, 5.2MB)
  Poured from bottle on 2020-01-09 at 09:18:31
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/carthage.rb
==> Requirements
Build: xcode ?
==> Options
--HEAD
    Install HEAD version
Run Code Online (Sandbox Code Playgroud)

如果我尝试升级brew upgrade Carthage

Warning: Carthage 0.34.0 already installed
Run Code Online (Sandbox Code Playgroud)

知道发生了什么吗?

谢谢

carthage

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

找不到容器视图对象

我是唯一在Xcode 7中找不到Container View对象的人吗?

我以前使用过此功能,现在我想再次实现它,但找不到。

我想知道现在是否已过时,但仍在Apple官方文档中。

https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/ImplementingaContainerViewController.html

在此处输入图片说明

我想做的是再现Snapchat导航视图,我有一个带有分页的scrollView,该页面每页将包含3个View Controller。我想使用容器添加每个子视图控制器。

objective-c ios uicontainerview xcode7

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

iphone X 模拟器上的软件键盘

如何在 iPhone X 模拟器上模拟键盘?由于某种原因,菜单中的“切换软件键盘”选项被禁用,这在任何其他设备模拟器中都没有发生。

在此处输入图片说明

谢谢

ios ios-simulator xcode9 iphone-x

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

如何用一个字符替换字符串中的所有数字

有没有办法可以用字符串中的所有数字替换一个单个字符

例如,如果我有这样的字符串

abc123xyz
Run Code Online (Sandbox Code Playgroud)

我要这个:

abc*xyz
Run Code Online (Sandbox Code Playgroud)

目前我这样做:

string.replacingOccurrences(of: "[0-9]", with: "*", options: .regularExpression)
Run Code Online (Sandbox Code Playgroud)

导致:

abc***xyz
Run Code Online (Sandbox Code Playgroud)

但这取代了每个数字*,这不是我想要的.

谢谢!

regex ios swift

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

在 iOS 中创建带有渐变的折线图

在 iOS 中创建这样的图表的最佳方法是什么?

在此输入图像描述

我的第一个想法是创建一条贝塞尔曲线路径,然后添加具有不同位置的渐变层。但这是行不通的,因为文档指定:

这些值必须单调递增。

我的图表中情况并非如此。

关于实现这一目标的好方法有什么想法吗?

谢谢

gradient ios uibezierpath cagradientlayer swift

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