IOSvideo压缩Swift iOS 8损坏的video文件

我试图压缩来自UIImagePickerController(不是现有的video,而是一个dynamic的)用户相机拍摄的video上传到我的服务器,需要一点时间这样做,所以更小的尺寸是理想的,而不是30- 45 mb在较新的质量相机。 这里是在iOS 8中快速执行压缩的代码,它压缩得非常好,我轻松地从35毫秒降低到2.1毫秒。 func convertVideo(inputUrl: NSURL, outputURL: NSURL) { //setup video writer var videoAsset = AVURLAsset(URL: inputUrl, options: nil) as AVAsset var videoTrack = videoAsset.tracksWithMediaType(AVMediaTypeVideo)[0] as AVAssetTrack var videoSize = videoTrack.naturalSize var videoWriterCompressionSettings = Dictionary(dictionaryLiteral:(AVVideoAverageBitRateKey,NSNumber(integer:960000))) var videoWriterSettings = Dictionary(dictionaryLiteral:(AVVideoCodecKey,AVVideoCodecH264), (AVVideoCompressionPropertiesKey,videoWriterCompressionSettings), (AVVideoWidthKey,videoSize.width), (AVVideoHeightKey,videoSize.height)) var videoWriterInput = AVAssetWriterInput(mediaType: AVMediaTypeVideo, outputSettings: videoWriterSettings) videoWriterInput.expectsMediaDataInRealTime = true videoWriterInput.transform […]

新的四方场地详细地图

我真的很喜欢foursquaredevise场地细节视图的方式。 特别是地图位置在“标题”视图中…怎么做? 详细信息显然是一些uiscrollview(也许uitableview?)和它后面(在标题中)有一个地图,所以当你滚动地图是beeing发现滚动视图反弹…有没有人有一个想法如何做到这一点?

你怎么能通过SKEffectNode创build一个精灵周围的辉光

我有一个SKSpriteNode ,我想围绕它的边缘蓝色辉光突出的目的。 我猜测,我需要使我的精灵成为一个SKEffectNode的孩子,然后创build/应用某种filter。 更新:我已经调查了这与select的答案的方法相当,并发现SKEffectNode具有相当大的性能,即使你已经设置了shouldRasterize和'没有filter'定义。 我的结论是,如果你的游戏一次需要超过10个移动对象,即使被光栅化,它们也不能涉及SKEffectNode 。 我的解决scheme可能会涉及预先呈现的辉光图像/animation,因为SKEffectNode不会根据我的要求来裁减它。 如果有人对我错过的任何东西有所了解,我会很高兴听到你所知道的任何事情! 我正在接受一个答案,因为它确实实现了我所要求的答案,但是希望将这些注释添加到正在寻找此路线的任何人,以便您了解使用SKEffectNode的一些问题。

JSONparsing在iOS 7中

我正在创build一个作为现有网站的应用程序。 他们目前拥有以下格式的JSON: [ { "id": "value", "array": "[{\"id\" : \"value\"} , {\"id\" : \"value\"}]" }, { "id": "value", "array": "[{\"id\" : \"value\"},{\"id\" : \"value\"}]" } ] 他们使用Javascript转义\字符后parsing。 我的问题是当我使用下面的命令在iOS中parsing它: NSArray *result = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&localError]; 并做到这一点: NSArray *Array = [result valueForKey:@"array"]; 我得到了NSMutableString对象而不是一个Array 。 该网站已经在生产,所以我不能让他们改变他们现有的结构,以返回一个适当的JSON对象。 对他们来说这将是很多工作。 所以,直到他们改变底层的结构,有什么办法可以使它在iOS工作,就像他们在他们的website上使用javascript一样? 任何帮助/build议对我都很有帮助。

从AVCaptureSessionDataOutput与AVCaptureSessionPresetPhoto iOS iOS CVImageBuffer扭曲

在很高的层面上,我创build了一个应用程序,让用户指向他或她的iPhone摄像头,并看到视觉效果处理过的video帧。 此外,用户可以点击一个button,将当前预览的冻结帧作为保存在其iPhone库中的高分辨率照片。 要做到这一点,应用程序遵循这个过程: 1)创build一个AVCaptureSession captureSession = [[AVCaptureSession alloc] init]; [captureSession setSessionPreset:AVCaptureSessionPreset640x480]; 2)使用背面照相机连接AVCaptureDeviceInput。 videoInput = [[[AVCaptureDeviceInput alloc] initWithDevice:backFacingCamera error:&error] autorelease]; [captureSession addInput:videoInput]; 3)将AVCaptureStillImageOutput连接到会话,以便能够以照片分辨率捕捉静帧。 stillOutput = [[AVCaptureStillImageOutput alloc] init]; [stillOutput setOutputSettings:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey]]; [captureSession addOutput:stillOutput]; 4)将AVCaptureVideoDataOutput连接到会话,以便能够以较低的分辨率捕获单独的video帧(CVImageBuffers) videoOutput = [[AVCaptureVideoDataOutput alloc] init]; [videoOutput setVideoSettings:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey]]; [videoOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()]; [captureSession addOutput:videoOutput]; 5)当video帧被捕获时,委托的方法被称为每个新的帧作为CVImageBuffer: – (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer […]

检测用户是否正在车内移动

注意 :这个问题最初是在苹果在iOS SDK中引入运动检测硬件和相关的API之前发布的。 但是,这个问题的答案仍然是相关的。 我正在创build一个iPhone iOS应用程序,涉及跟踪用户的跑步和/或行走。 logging用户跑步和走路的结果保持诚实是非常重要的。 我需要一种方法来抓住使用汽车时可能会作弊的用户(或者意外地离开了跟踪器)。 为了检查用户是在开车还是在车上骑车,我首先想到了这两个检查,但是这两个检查都不能确定用户是否在车中(到某一点)。 用以下方法检查用户的当前速度。 如果用户的行驶速度超过20海里/小时,那么我可以假设用户在汽车里: – (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations { CLLocation *recentLocation = [locations lastObject]; recentLocation.speed; //If speed is over 20 MPH, assume the user is not on their feet. 但是,我不确定这是否是一个很好的检查,因为人们logging的速度比以前更快 。 这是一个很好的检查,还是应该使用别的东西? 确定用户使用Core Motion Framework提供的Accelerometer和Motion API进行加速的速度。 如果用户加速超过一定的速度,那么我可以假设用户正在车辆中旅行。 这些假设是正确的吗? 我想我真正的问题是这样的: 有没有更好的方法来检测用户是否在车辆中移动 – 如果是这样的话? 。 如果不是,那么这些检查是否适合这种情况呢,还是会让一些实际上很快的用户感到烦恼呢? CoreMotion是适当的API来做到这一点? 编辑:新的iPhone 5S […]

AutoLayout,无法同时满足约束

刚开始学习iOS AutoLayout时,Interface Builder的构build非常简单,但是当我尝试在代码上存档相同的东西的时候 [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(==2)-[_nextKeyboardButton]-(==2)-[_numPadButton]-(==2)-[_spaceButton]-(==2)-[_returnButton]-(==2)-|" options:0 metrics:0 views:NSDictionaryOfVariableBindings(_nextKeyboardButton,_numPadButton,_spaceButton,_returnButton)]]; 它引发了一个例外, 无法同时满足约束。 Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and […]

如何在Interface Builder中创build1px行?

请注意,我正在寻找1px线,而不是1pt线。 这意味着它应该是1px而不pipe屏幕比例(在Retina设备上是0.5pt)。 我可以通过编程来完成,但是我可以在Interface Builder中完成吗? 例如我不能设置一个UIView有一个小于1的高度。 如果我可以在IB中完成,那么我不必声明一个sockets,并手动将帧设置在awakeFromNib 。

一些滚动后,UITableViewdynamic单元格高度才会正确

我有一个UITableView自定义UITableViewCell使用自动布局在故事板中定义。 单元格有几个多行UILabels 。 UITableView似乎正确地计算单元格高度,但对于前几个单元格高度没有正确划分标签之间。 滚动一下后,一切都按预期工作(即使是最初不正确的单元格)。 – (void)viewDidLoad { [super viewDidLoad] // … self.tableView.rowHeight = UITableViewAutomaticDimension; } – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { TableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"TestCell"]; // … // Set label.text for variable length string. return cell; } 有什么我可能会失踪,这是导致汽车布局不能够在前几次工作? 我已经创build了一个演示这种行为的示例项目 。

UITextView在iOS7中的内容大小不同

我正在使用一个UITextView ,通过点击一个“更多”button可以扩展。 问题如下: 在iOS6上我使用这个, self.DescriptionTextView.text = @"loong string"; if(self.DescriptionTextView.contentSize.height>self.DescriptionTextView.frame.size.height) { //set up the more button } 问题是在iOS7上, contentSize.height返回一个不同的值(远小于它在iOS6上返回的值)。 为什么是这样? 如何解决它?