Tag: ios

iOS上的runloop中的操作顺序

iOS上的操作顺序是什么? 我正在考虑关于时机 setNeedsLayout和layoutSubviews setNeedsDisplay和drawRect 触摸识别 [NSTimer scheduledTimerWithTimeInterval:0.000001 tar(…)] dispatch_async(dispatch_get_main_queue(), ^{ /* code */} 作为一个答案的例子,我想收到它可能是这样的格式: main上的dispatch_async在下一个运行周期之前发生 drawRect在运行周期结束时发生

何时使用实例variables以及何时使用属性

当使用Objective-C属性时,你可以完全停止创build实例variables,或者显式的实例variables(不是由属性合成的variables)仍然可以用于属性不合适的目的。

不能推,拉或合并git。 “工作副本没有改变”

我最近在bitbucket上build立了一个git仓库,并在其上添加了一个旧项目。 我已经承诺并推动了一项改变,但现在我面临这个问题。 每次我尝试拉,推,或合并我得到这个错误信息: “工作副本”Project_Name“有未提交的更改”。 而且我已经做了几次这个改变: 编辑 :我做'混帐状态',并得到以下几点: # On branch master # Your branch is ahead of 'origin/master' by 2 commits. # # Changes not staged for commit: # (use "git add <file>…" to update what will be committed) # (use "git checkout — <file>…" to discard changes in working directory) # # modified: Crunch.xcodeproj/project.xcworkspace/xcuserdata/Neil.xcuserdatad/UserInterfaceState.xcuserstate […]

寻找GPS信号强度

有没有办法获得iPhone的GPS信号强度? 我想做一些这样的显示: 如果GPS = 0或无信号:颜色=红色/差或无信号 如果GPS = <140米信号:颜色橙/公平信号 如果GPS => 140米信号:颜色=绿色/良好或优秀信号

修改后的EXIF数据不能正确保存

经过无数的尝试和筛选通过每个SO答案+谷歌的结果,让我感到困惑的是,在iOS上使用EXIF是如此令人沮丧。 以下是其结果的工作代码。 [[self stillImageOutput] captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler:^(CMSampleBufferRef imageSampleBuffer, NSError *error) { NSData *imageNSData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer]; CGImageSourceRef imgSource = CGImageSourceCreateWithData((__bridge_retained CFDataRef)imageNSData, NULL); //get all the metadata in the image NSDictionary *metadata = (__bridge NSDictionary *)CGImageSourceCopyPropertiesAtIndex(imgSource, 0, NULL); NSLog(@"original metadata Info: %@",metadata); //make the metadata dictionary mutable so we can add properties to it NSMutableDictionary *metadataAsMutable = […]

WebApp使用webRTC在iOS浏览器和Android Chrome中实现跨平台video聊天

我们正在尝试构build一个video聊天的Web应用程序,该应用程序将在跨平台的浏览器(桌面,iOS,Android)上运行。 目前我们还没有意识到如何在iOS上的浏览器中运行webRTC–它只能运行在几个桌面浏览器和Android的Chrome(例如peerjs)上。 有没有工具让webRTC在iOS上的浏览器中运行? 有没有已经build立的工具来创build一个web应用程序在iOS上运行webRTC通过使用混合的应用程序方法(特别是混合iOS应用程序的工具,而不仅仅是iOS的webRTC SDK)? 当webRTC将被iOS或Safari支持吗?

表视图滚动asynchronous

我将图像加载到表格视图单元格,每个单元格都有一个图像。 我已经适应了几个教程到下面的代码,但我仍然有减速。 我从文档目录加载这些图像。 关于如何加快这个过程的任何提示或想法? 修改代码: Beer *beer = (Beer *) [self.fetchedResultsController objectAtIndexPath:indexPath]; cell.displayBeerName.text = beer.name; // did we already cache a copy of the image? if (beer.image != nil) { // good. use it. this will run quick and this will run most of the time cell.beerImage.image = beer.image; } else { // it must […]

使用时出错

我正在更新应用程序以使用最新的Facebook SDK以访问iOS6原生Facebook支持。 它目前使用一个漂亮的旧版本的Facebook SDK。 该应用程序需要Facebook的“publish_actions”权限才能使用Facebook的唯一function。 我最初以为我可以使用[FBSession openActiveSessionWithPublishPermissions: …]但是当用户在iOS6设置中configuration了Facebook时,这在iOS6上失败。 由于这个要求, 从Facebook文档中失败: 请注意,要使用iOS 6本地身份validation,应用程序需要更改用户向用户请求权限的方式 – 应用程序必须将读取和写入权限的请求分开。 适用于iOS的Facebook SDK支持这些function,并帮助开发人员使用它们构build适用于多个iOS版本和设备configuration的应用程序。 这是一个大的PITA,IMO。 我们的首选是提醒用户一次许可并完成它,但每个Apple / Facebook的“新”理想是在需要但尚未授予的情况下提示特定的权限。 目前的计划是保留我们对iOS5用户和未在设置中configurationFacebook的iOS6用户的旧行为。 并符合使用本机访问的iOS6用户的新的双提示。 问题是,做这件事的最好方法是什么? 我应该如何去检测Facebook SDK是否会selectiOS6本地login与回退机制? 我可以忽略明显的东西吗? 编辑: 杰拉德威廉把我放到正确的轨道上。 他的解决scheme几乎可以工作,除了ACAccountTypeIdentifierFacebook在iOS5中不可用。 另外,如果用户阻止FB在设置中访问应用程序,那么accountsWithAccountType调用将返回一个空数组。 通过询问账户types匹配标识符“com.apple.facebook”可以解决第一个问题 – 这将在iOS5上返回nil,在iOS6上返回一个真实账户types的对象。 但第二个问题是无法解决的。 我的新计划是始终在iOS6上以只读权限打开初始会话,并在稍后的上下文中根据需要提示发布权限。 在iOS5上,我仍然会打开指定所需的publish_actions权限的初始会话。 代码如下: ACAccountStore* as = [[ACAccountStore new] autorelease]; ACAccountType* at = [as accountTypeWithAccountTypeIdentifier: @"com.apple.facebook"]; if ( at != nil ) […]

iPhone应用程序:在MP3中录制audio

我正在开发一个iPhone应用程序,它以.wav格式loggingaudio。 这里是代码 NSMutableDictionary* recordSetting = [[NSMutableDictionary alloc]init]; [recordSetting setValue :[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey]; [recordSetting setValue:[NSNumber numberWithFloat:11025.0] forKey:AVSampleRateKey]; [recordSetting setValue:[NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey]; [recordSetting setValue:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey]; NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [path objectAtIndex:0]; NSString *myDBnew = [documentsDirectory stringByAppendingPathComponent:@"test.wav"]; recordedTmpFile = [NSURL fileURLWithPath:myDBnew]; NSLog(@"Using File called: %@",recordedTmpFile); recorder = [[ AVAudioRecorder alloc] initWithURL:recordedTmpFile […]

ios swift:如何在dynamictableview中有一个静态单元格?

我想使用tableView在dynamic单元格列表的顶部有2个静态单元格。 据我所知,我不得不使用一个dynamic的原型tableView。 但我不明白如何添加2静态单元格,并devise它们,例如。 向第一个添加一个文本字段,向第二个添加一个标签。 我的故事板中有什么要做的? 在控制器内部我该做些什么? 我如何区分dynamic单元格的静态? 有人能给我一个血腥的初学者一些指导从哪里开始? 非常感谢!! 编辑:我试过这个testing: override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 5 } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("cardCell", forIndexPath: indexPath) as CardTableViewCell //static cell if (indexPath.row < 2) { cell.dyn.text = "static \(indexPath.row)" return cell; } […]