Tag: 照片框架

创build相册的过滤PHAssetCollection失败

我需要创build一个过滤的SmartAlbums集合在UITable中显示。 我以前曾尝试过将未过滤的集合转换为可变forms,并删除我希望排除的那些,然后重新回到PHFetchResult。 所有这些尝试都失败了。 我现在正尝试使用PHFetch选项来过滤专辑(“ https://developer.apple.com/documentation/photos/phfetchoptions )”中的“localizedTitle”键。 但是,当我尝试尝试排除“Videos”智能文件夹的以下testing用例代码时,我在newAlbums中得到零计数结果。 当我将谓词设置为%K ==%@时,我也得到零结果。 正确答案应该是前者15,后者是1。 为什么我的谓词不能select正确的结果? 我不希望将新的集合保存到库中,只是将其用于临时显示,所以我没有尝试请求调用(也许我误解了这个框架?) 我search了S / O和developer.apple,工作代码的唯一例子是过滤单个媒体(照片或video),而不是selectsmartAlbums。 let fetchOptions = PHFetchOptions() let p1 = NSPredicate(format: "%K == %@", "localizedTitle", "Videos") fetchOptions.predicate = p1 let newAlbums = PHAssetCollection.fetchAssetCollections(with: .smartAlbum, subtype: .albumRegular, options: fetchOptions)

如何在IOS中查找照片资产的标识符

我正在编写一个应用程序,它可以保存存储在自定义相册中的照片,并将其他信息与对象相关联。 该对象然后保存在核心数据中。 我想在对象中存储对照片的引用。 是否有可用或可派生的唯一标识符? 我需要能够访问照片。 我正在使用照片框架。

照片框架中的图像iCloud同步创build相册

TL; DR – 将使用 [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"ALBUM_TITLE"]; 相册 [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"ALBUM_TITLE"]; 通过iCloud同步? 并且同步的图像 在每个设备上都有 相同的 localIdentifier ? 在我的应用程序中,我需要存储用户通过使用相机添加的照片或添加照片库中的现有照片的一些不同的相册/照片文件夹。 理想情况下,我需要的是应用中的所有照片都位于照片应用中的相同(专用于我的应用)相册中,因此此相册可以通过iCloud进行同步,并且对于我可以存储对特定在这张相册中的照片,所以我可以将这些照片分别在我的应用程序中的相册。 我可以为图像创build相册,将图像的localIdentifier存储在数组中,并使用fetchAssetsWithLocalIdentifiers:options:来获取图像。 问题是让这些图像在iCloud上同步。 将使用[PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"ALBUM_TITLE"];创build的相册[PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"ALBUM_TITLE"]; 通过iCloud同步? 据我所知,如果用户没有启用iCloud Photo Library,那么它将不会同步,但它会与iCloud Photo Library同步,这是正确的吗? 如果它将通过iCloud进行同步, localIdentifier中图像的localIdentifier是否相同,还是在下载到新设备时会获得新的标识符? 如果他们确实获得了新的标识符,那么我怎样才能存储对设备上的特定图像的引用? 注意:我现在无法访问支持iCloud的设备来testing

切换访问相机和照片时发生崩溃

我有一个收集视图(标准stream布局),其中第一个单元格显示实时摄像头,其余单元格使用iOS 8的新Photos Framework显示来自用户库的照片。 一切都呈现和工作很好。 第一次打开时,系统会提示您按照预期访问相机和照片库。 我的应用程序行为正常,如果我select是或否的提示中的任何一个。 但是,如果我背景的应用程序,进入设置>隐私>照片|相机和切换访问,我的应用程序崩溃。 当连接到Xcode,我没有得到任何反馈,为什么应用程序崩溃。 不幸的是, 苹果的照片框架示例应用程序做同样的事情。 我怎样才能防止这种情况发生? 我已经订阅了AVCaptureDeviceWasConnectedNotification , AVCaptureDeviceWasDisconnectedNotification和registerChangeObserver在PHPhotoLibrary上的PHPhotoLibrary但那些似乎永远不会被调用。 再次,这里是使用苹果的示例应用程序和模拟器的步骤: 在模拟器中,进入设置>常规>重置>重置位置和隐私 运行应用程序 允许该应用访问您的照片库 背景示例应用程序和打开设置 转到隐私>照片并closures设置 观看Xcode崩溃 在步骤3中,如果您拒绝访问您的照片,并在步骤5中启用访问权限,则应用程序也会崩溃。

照片框架:与assetsd的连接被中断或资产死亡

当我尝试使用这个swift库( https://github.com/piemonte/player )播放多个video时,出现此错误。 不知道它是否与该播放器,或相框框架或相关。 会发生什么,我有一个观点,将显示一张照片或一个video。 一切正常工作,直到有几个video播放,然后这个消息将popup,其次是所有的video无法播放,在他们的地方,你只是看到一个黑屏,然后我得到一个内存使用错误。 我正在使用一个名为SwipeView的库,这里有一些相关的代码可能会有所帮助。 func swipeView(swipeView: SwipeView!, viewForItemAtIndex index: Int, reusingView view: UIView!) -> UIView! { let asset: PHAsset = self.photosAsset[index] as PHAsset // Create options for retrieving image (Degrades quality if using .Fast) // let imageOptions = PHImageRequestOptions() // imageOptions.resizeMode = PHImageRequestOptionsResizeMode.Fast var imageView: UIImageView! let screenSize: CGSize = UIScreen.mainScreen().bounds.size let […]

如何从PHImageManager获取平方的缩略图?

有没有人想法如何从PHImageManager取平方的拇指? PHImageContentModeAspectFill选项不起作用。 [[PHImageManager defaultManager] requestImageForAsset:(PHAsset *)_asset targetSize:CGSizeMake(80, 80) contentMode:PHImageContentModeAspectFill options:nil resultHandler:^(UIImage *result, NSDictionary *info) { // sadly result is not a squared image imageView.image = result; }];

如何使用Photos Framework获取相机胶卷中的图像

以下代码加载也位于iCloud或stream图像上的图像。 我们如何才能将search限制在相机胶卷中的图像? var assets = PHAsset.fetchAssetsWithMediaType(PHAssetMediaType.Image, options: nil)