【发布时间】:2016-09-30 19:52:10
【问题描述】:
我想创建一个应用来显示实时照片。但我没有iPhone 6S。有没有机会将现场照片放入iOS Simulator?
谢谢!
【问题讨论】:
-
我想你可以,但我的 Mac 上没有实时照片,所以我无法测试它。 GitHub 上有很多项目展示了如何制作实时照片。也许您可以查看那些以获得设计帮助。
标签: objective-c simulator phlivephoto
我想创建一个应用来显示实时照片。但我没有iPhone 6S。有没有机会将现场照片放入iOS Simulator?
谢谢!
【问题讨论】:
标签: objective-c simulator phlivephoto
自从最初询问/回答后,界面有了很大改进。现在很容易做到这一点。
原答案:
我就是这样做的。使用 PhotosUI 界面,我的应用程序要求提供 LivePhoto。使用它给我的 PHAsset,我保存了 .mov 文件和高质量 .png 图像的本地副本。这两个文件是“LivePhoto”。 在 Xcode 中,我在连接手机的情况下转到设备,选择应用程序,单击底部的设置齿轮图标,然后选择下载容器。转到 Finder,右键单击我刚刚下载的 .xcappdata 文件,选择 ShowPackageContents,这些文件就是我编写它们的位置。我将它们拖到应用程序中(Xcode 已打开 - 将它们放在左侧的导航器窗格中),它们将被添加到应用程序的包中。
【讨论】:
可以把live photo放到模拟器里,需要 一个视频文件,一个图片文件(因为Live photo是这两者的结合)。然后使用Photos Framework,您可以将现场照片保存在图库中
PHPhotoLibrary.shared().performChanges({
let request = PHAssetCreationRequest.forAsset()
request.addResource(with: .photo, fileURL: imageUrl, options: nil)
request.addResource(with: .pairedVideo, fileURL: videoUrl, options: nil)
}) { (success, error) in
print(success)
print(error?.localizedDescription ?? "error")
}
【讨论】:
我发现的唯一方法非常笨拙:将实时照片放入您的 iCloud 照片流,然后将您的模拟器连接到您的 iCloud 帐户。然后,您的模拟器的照片库中将提供实时照片。
正如您所料,“获取实时照片...”这一步可能会很棘手——您可能需要一位拥有 iPhone 6s/6s+ 的朋友来给您发送 iMessage 信息。尽管 Facebook 和 Google Photos 等一些服务支持在应用内查看实时照片,但它们似乎不支持将它们下载到您的照片库,同时保留它们的实时性。
【讨论】: