我正在使用新的 UserNotifications 框架在我的 iOS 应用程序的通知中包含图像附件。我正在从不同的数据库(例如 Facebook 以及我自己的 Firebase 数据库)中提取图像。
我有几个问题。
首先,如果从我的firebase数据库中显示通知图像并且高度大于宽度并且高度超过通知的最大图像高度(我不确定具体是什么),则图像被垂直压缩并且纵横比不正确。请注意,相同的图像在我的应用程序中正确显示。
其次,如果从 Facebook 的数据库中显示通知图像并且高度大于宽度并且高度超过通知的最大图像高度,则整个图像将调整大小以适应通知图像的最大允许高度,离开两边的白色竖条。
我想确保我存储到 firebase 的图像永远不会以倾斜的纵横比呈现。对于超过最大允许高度的图像,我想裁剪这些图像以避免两侧出现白条。
同样值得注意的是,对于我存储到 firebase 的图像,无论是使用我的应用程序拍摄照片还是在本机 iOS 相机应用程序中拍摄并在稍后上传,我都会得到相同的行为,这导致相信问题出在与图像如何存储到 Firebase 相关,而不是图像如何被捕获以及它们是否包含适当的元数据。
我用来存储图像的 Firebase 相关代码很简单:
if let uploadData = UIImageJPEGRepresentation(imageToStore, 0.1) {
imageStorageRef.put(uploadData, metadata: nil, completion: { (metadata, error) in
…