在iOS 5中检测iPhone静音开关

我知道Apple没有提供检测iOS 5中的iPhone mute/silence开关状态的方法。 不过,我已经尝试了其他地方提到的技术,通过播放audio文件并测量其运行时间来检测这一点。 但是,即使我的iPhone被静音,audio文件仍然播放整个持续时间。 我正在使用[AVAudioPlayer play]并计算audioPlayerDidFinishPlaying被调用之前的时间。 您是否知道播放audio文件的诀窍,如果手机静音,该文件将会尽快完成?

如何从iOS应用程序打开VPN? (私人API确定)

当iOS设备进入“睡眠模式”时,即使configuration的VPN不幸closures。 一个想要iPad的应用程序的客户必须使用VPN来保证安全,所以任何事情都必须通过VPN来完成。 应用程序必须同步很多,但iOS设备可能会自行closuresVPN。 这就是为什么我只需要每次需要互联网连接(或保持活着 )时再次触发它。 你们有没有想过什么? 即使使用私有API也行(应用程序只能分发给客户,而不是通过App Store)。 或者使用任何像Cisco AnyConnect这样的应用程序来完成这项工作。

使用iOS中的Core Data进行数据encryption

我只需要确认一下。 对于iPhone 3GS及以上版本,写入文件系统的任何数据都使用硬件encryption进行encryption,是否正确? 通过简单地在文件系统上创buildXXX.sqlite文件,存储在其中的数据已经被encryption。 也为了进一步的安全NSFileProtectionComplete提供? 谢谢。

迅速:在导航栏中设置后退button图像

我想在我的控制器的导航栏中设置后退button图像,这里是我在viewDidLoad()中的代码: var backImg: UIImage? = UIImage(named: "back_btn.png") println(backImg) if var back_img = backImg { println("GET IT") println(back_img) println(UIControlState.Normal) println(UIBarMetrics.Default) self.navigationController.navigationBar.backItem.backBarButtonItem.setBackButtonBackgroundImage(back_img, forState: UIControlState.Normal, barMetrics: UIBarMetrics.Default) } 我试图把他们viewWillLoad,但得到相同的错误 有错误信息的控制台: <UIImage: 0x7ff37bd85750> GET IT <UIImage: 0x7ff37bd85750> VSC14UIControlState (has 1 child) (Enum Value) fatal error: unexpectedly found nil while unwrapping an Optional value 我不知道哪个部分出了问题。 似乎back_img不是零,但我得到错误说这是零 谢谢!

ExtAudioFileWrite m4a / aac在双核设备(ipad 2,iphone 4s)上失败

我写了一个循环来编码由我的应用程序生成的PCMaudio数据使用扩展audio文件服务的AAC。 编码发生在后台线程同步,而不是实时。 这个编码在ipad 1和iphone 3gs / 4上完全适用于ios 4和5.但是,对于双核设备(iphone 4s,ipad 2),第三次调用ExtAudioFileWrite会导致编码线程崩溃,没有堆栈跟踪,也没有错误代码。 这是有问题的代码: 数据格式 AudioStreamBasicDescription AUCanonicalASBD(Float64 sampleRate, UInt32 channel){ AudioStreamBasicDescription audioFormat; audioFormat.mSampleRate = sampleRate; audioFormat.mFormatID = kAudioFormatLinearPCM; audioFormat.mFormatFlags = kAudioFormatFlagsAudioUnitCanonical; audioFormat.mChannelsPerFrame = channel; audioFormat.mBytesPerPacket = sizeof(AudioUnitSampleType); audioFormat.mBytesPerFrame = sizeof(AudioUnitSampleType); audioFormat.mFramesPerPacket = 1; audioFormat.mBitsPerChannel = 8 * sizeof(AudioUnitSampleType); audioFormat.mReserved = 0; return audioFormat; } AudioStreamBasicDescription MixdownAAC(void){ AudioStreamBasicDescription audioFormat; […]

Swift:将CoreData作为数组获取

我想要获取sqlite表中的所有保存的数据。 我目前正在这样做: func GetAllData() -> NSArray { var error : NSError? = nil; var request : NSFetchRequest = NSFetchRequest(entityName: "Locations"); let result : [AnyObject] = managedObjectContext!.executeFetchRequest(request, error:&error)!; var elements : NSMutableArray = NSMutableArray(); for fetchedObject in result { elements.addObject(fetchedObject[0]); } print(elements); return elements; } 我没有任何问题在Objective-C中获取数据,但在迅速,我没有得到它! 数据的保存工作正常。 我有两行“名称”和“类别”。 我怎样才能显示所有保存的数据?

UICollection View使用SDWebImage查看卷动滞后

背景 我search了SO和苹果论坛。 很多人谈到收集视图单元格与图像的performance。 他们中的大多数人表示,自从在主线程中加载图像以来,它在滚动上是滞后的。 通过使用SDWebImage ,图像应该加载在单独的线程中。 但是,在iPad模拟器中,仅在横向模式下才是滞后的。 问题描述 在纵向模式下,集合视图为每行加载3个单元格。 并没有滞后或微不足道的延迟。 在横向模式下,集合视图为每行加载4个单元格。 帧速率有明显的滞后和下降。 我用核心animation检查了仪器工具。 新单元出现时,帧速率降至8fps左右。 我不知道哪个行为给我带来如此低的performance收集视图。 希望有人知道这个技巧的一部分。 这里是相关的代码 在视图控制器中 – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { ProductCollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"ProductViewCell" forIndexPath:indexPath]; Product *tmpProduct = (Product*)_ploader.loadedProduct[indexPath.row]; cell.product = tmpProduct; if (cellShouldAnimate) { cell.alpha = 0.0; [UIView animateWithDuration:0.2 delay:0 options:(UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction) animations:^{ cell.alpha = 1.0; } completion:nil]; } […]

为NSFetchedResultsControllerdynamic设置fetchLimit

我正在使用NSFetchedResultsController将数据填充到UITableView。 这是一个简单的聊天应用程序,我想先加载最新的25条消息到桌子上,并加载更多的用户滚动查看旧信息(聊天信息是在升序)。 我调用setFetchLimit方法:对于willDisplayCell中的NSFetchedResultsController:像这样… – (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { if(indexPath.row == 0) { [self performSelector:@selector(getMoreMessages) withObject:nil afterDelay:1.0]; } } 当显示第一行的UITableView时,getMoreMessages将尝试重置fetchLimit,像这样重新加载UITableView ….. – (void)getMoreMessages { maxListItems += 25; NSLog(@"set maxListItems: %d", maxListItems); [self.resultsController.fetchRequest setFetchLimit:maxListItems]; [self._tableView reloadData]; } 但是,它似乎不工作,表格数据不会改变。 最初的NSFetchRequest是这样设置的… NSFetchRequest *chatDataRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"ChatData" inManagedObjectContext:appDelegate.managedObjectContext]; [chatDataRequest setEntity:entity]; NSPredicate […]

如何在覆盖某个类别的方法时调用原始实现?

我试图弄清楚事情是如何工作的。 所以我想,当我将覆盖某些方法使用类别,我会得到有趣的NSLogs。 @implementation UIView(Learning) – (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { NSLog(@"-hitTest:withEvent: event=%@", event); return [self hitTest:point withEvent:event]; } @end 超级和自我不在这里工作。 有没有办法调用-hitTest:withEvent的原始实现:? 我想要的是NSLog每次-hitTest:withEvent:在UIView上调用。 这只是个人学习的目的。 我希望看到事件的实施。

uiimageview特定的形状图像

用UIImageView可以在图像上设置下面的形状吗? 任何想法! 谢谢