草庐IT

ios - PHAsset:使用元数据保存新图像

我正在使用UIImagePickerController来允许用户使用相机拍照。当代表被调用时,我想将图像保存到照片库/相机胶卷,我使用PHAssetChangeRequest来完成。问题是文档说我可以使用UIImagePickerControllerMediaMetadata中的字典将其作为元数据包含在内,但PHAssetChangeRequest似乎没有参数来执行此操作。保存时如何包含此元数据?谢谢! 最佳答案 您可以使用PHAssetCreationRequest。为了使用PHAssetCreationRequest,您将合并

ios - PHAsset fetchAssetsWithMediaType :PHAssetMediaTypeVideo returns no videos

已编辑从标题中删除了版本,但这是从iOS8.1开始的我有一个我构建的应用程序,可以播放来自用户Photos.app的视频。当我在8.0.2设备上安装应用程序时,我从[PHAssetfetchAssetsWithMediaType:options:]调用中取回视频列表没有问题,但是当我在8.1设备上安装完全相同的代码时,我返回了0个视频。有人遇到过这个吗?8.1是否改变了我们应该再次从Photos.app访问照片/视频的方式?PHFetchOptions*options=[[PHFetchOptionsalloc]init];PHFetchResult*videos=[PHAssetfe

ios - PHAsset 在 PHAssetChangeRequest 完成后不反射(reflect)变化

在文档中说:AfterPhotosrunsthechangeblockandcallsyourcompletionhandler,theasset’sstatereflectsthechangesthatyourequestedintheblock.但是,在完成处理程序内部(以及完成处理程序之后),我的PHAsset没有改变。这是我用来更改收藏夹状态的代码,它是从PHAsset文档页面中提取的。-(IBAction)touchedButtonFavoritePhoto:(id)sender{AssetViewController*vc=self.viewControllers[0];P

ios - 获取 PHAsset 的 url

我正在使用自定义图像选择器来选择时间流逝,我想获取所选时间流逝的url,以便我可以播放时间流逝。-(void)qb_imagePickerController:(QBImagePickerController*)imagePickerControllerdidFinishPickingAssets:(NSArray*)assets{for(PHAsset*assetinassets){NSURL*url=[NSURLURLWithString:assetURLgoesHere];AVURLAsset*avAsset=[AVURLAssetURLAssetWithURL:urloptio

ios - 无法异步读取 PHAsset 内容

我想异步读取指定文件(相机胶卷中的照片),但它对我不起作用。变量tempData得到nil直到我将配置requestOptionForPhotos.synchronous更改为YES,然后一切正常,但我不想同步执行此代码。我是否有可能通过在其他线程中请求同一文件来阻止对照片的访问?我是Objective-C和iOS编程的新手,我不知道它是如何工作的。NSURL*assetUrl=[[NSURLalloc]initWithString:filepath];PHFetchResult*collection=[PHAssetfetchAssetsWithALAssetURLs:[NSArra

ios - PHAsset(或 ALAsset)跨设备标识符

我实际上正在创建一个iOS应用程序,并希望在SQLite数据库中存储有关照片库图片的一些详细信息。我还希望能够在用户拥有的不同设备之间共享这些数据(想象一下有人想在他的iPhone上重新组织图片,并想在他的iPad上检索相同的订单)。我搜索了整个Apple文档,但没有找到任何跨设备共享的PHAsset标识符。我还尝试检查PHAsset的PHImageFileURLKey、hashValue或localIdentifier是否共享,但都没有他们是。有人做过这样的事情吗? 最佳答案 暂时没有。PHAsset在第一个iOS8Beta中有一

ios - 如何知道 PHAsset 是否已被修改?

更具体地说,您如何知道PHAsset的基础Assets的当前版本是否与原始版本不同?我的用户应该只需要在必要时在当前Assets或原始Assets之间进行选择。然后我需要他们对PHImageRequestOptions.version的回答。 最佳答案 从iOS16开始,PHAsset有一个hasAdjustments属性,指示Assets是否已被编辑。对于以前的版本,您可以通过PHAssetResourceAPI获取给定Assets的数据资源数组-如果该Assets已被编辑,它将具有调整数据资源。letisEdited=PHAss

ios - 如何使用 Facebook iOS SDK 4.0 FBSDKShareDialog 分享 NSData 或 phasset 视频

我注意到您可以简单地将NSData视频分享到facebookmessenger:NSData*videoData=[NSDatadataWithContentsOfURL:localVideoUrl];[FBSDKMessengerSharershareVideo:videoDatawithOptions:options];但我在分享到Facebook提要时遇到了同样的困难使用本地视频文件或相集。FBSDKShareVideo*video=[FBSDKShareVideovideoWithVideoURL:localVideoUrl];FBSDKShareVideoContent*co

ios - 从 iOS 共享扩展获取 PHAsset

我正在为我的iOS应用程序开发照片共享扩展程序。在扩展内部,我能够从NSItemProvider成功检索UIImage对象。但是,我希望能够与我的容器应用程序共享图像,而不必将整个图像数据存储在我的共享用户默认设置中。有没有办法获取用户在共享扩展中选择的图像的PHAsset(如果他们从他们的设备中选择)?照片框架(https://developer.apple.com/library/ios/documentation/Photos/Reference/Photos_Framework/)的文档中有一行内容是“此架构使得使用来自多个线程或多个应用程序和应用程序扩展的相同Assets变得

ios - 从 PHAsset 获取尺寸(高度和宽度)

有没有办法从PHAsset对象获取图像的高度和宽度。我正在尝试使用自定义UICollectionViewLayout制作图像选择器(有点像Pinterest应用程序的主页)我已经将照片库中的所有照片提取到一个数组中PHAsset对象。但是我需要从委托(delegate)方法collectionView:layout:sizeForItemAtIndexPath:的PHAsset对象中获取图像的大小有没有快速的方法来实现这个? 最佳答案 PHAsset具有pixelWidth和pixelHeight属性。