Tag: ios8.1

UIView animateWithDuration在iOS 8中performance有所不同

我刚刚从iOS 7.1切换到了iOS 8.1。 我遇到以下UIView animateWithDuration问题。 图片胜过千言万语,我制作了每个iOS下的行为video: iOS 7.1: iOS 8.1: 这是一个iPhone应用程序。 我应该注意到,在发布之前,我已经search了SO和其他地方。 这似乎是一个公认的问题,但是我发现有一些“使用基于约束的animation”(我不明白),closures了自动布局,但没有真正的共识。 我尝试了几次刺,但没有得到。 如果有人能指出我(或通过一个明确的解决办法),我真的很感激。 我应该提到的是,应用程序的目的只是在肖像位置,所以我没有想到在开发过程中的自动布局。 所有涉及的视图都是以编程方式创build的,除了滚动条本身。 这是代码。 我包括了很长的整个方法,但是我真的不明白在新的iOS中已经发生了什么变化,所以在安全方面。 animateWithDuration调用非常深入到块中: -(void) displayDayChart { [self.scroller setBackgroundColor:[UIColor clearColor]]; UIImage *image = [UIImage imageNamed:@"GrayPaper.png"]; self.chartView.backgroundColor = [UIColor colorWithPatternImage:image]; [self.view addSubview:self.scroller]; [self.scroller setScrollEnabled:YES]; [self.scroller setContentSize:CGSizeMake(320, 1800)]; [self.scroller setContentOffset:CGPointMake(0.0, 0.0) animated:YES]; dayBarArray = [[NSMutableArray alloc]init]; infoLabelArray = [[NSMutableArray alloc]init]; timeLabelArray […]

如何在相册上挑选图像 – iOStestingKIF

面对这个问题,当你从相册中select一个图像时,不要点击图像。 在点压力也发生。 该怎么办? 使用:[tester choosePhotoInAlbum:@“Moments”atRow:0 column:0]; 以及:[tester tapScreenAtPoint:CGPointMake(47,150)];

swift animateWithDuration在iOS 7中不起作用

我有一个在iOS 8.1中运行正常的animation,但在iOS 7.1中,button只出现在没有animation的地方。 该button的前导,尾部和底部约束为0,高度约束为80.约束条件在故事板中设置。 在viewWillAppear方法中,我将底部约束更改为-80,以便在开始时不会看到。 当用户按下一个button,button应该动起来,我运行这个方法: func animateCtaUp() { self.ctaView.layoutIfNeeded() UIView.animateWithDuration(0.5, delay: 0, options: .CurveEaseOut, animations: { self.ctaViewBottomConstraint.constant = 0 self.ctaView.layoutIfNeeded() }, completion: { finished in }) }

NSUserActivity越区切换不适用于自定义数据

我试图用我的iPhone和iPad之间的NSUserActivity来testingiOS 8.1的越区切换function。 为此,我试图实现我自己的解决scheme,并使用苹果的PhotoHandoff项目。 但是,它不工作。 如果我提供了一个webpageURL ,切换工作正常,但是当我尝试使用userData或addUserInfoEntriesFromDictionary没有任何效果,而且我不能为了生活而弄清楚数据是如何工作的。 示例代码: NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:@"com.company.MyTestApp.activity"]; activity.title = @"My Activity"; activity.userInfo = @ {}; // activity.webpageURL = [NSURL URLWithString:@"http://google.com"]; self.userActivity = activity; [self.userActivity becomeCurrent]; [self.userActivity addUserInfoEntriesFromDictionary:@ { @"nanananan": @[ @"totoro", @"monsters" ] }]; (我也无法使它与具有相应活动types的Mac应用程序一起工作)

PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo不返回video

从标题编辑删除的版本,但这开始于iOS 8.1 我有一个应用程序,我已经build立,将播放来自用户Photos.app的video。 当我在8.0.2设备上安装应用程序时,我从[PHAsset fetchAssetsWithMediaType:options:]调用中找回video列表没问题,但是当我在8.1设备上安装完全相同的代码时,我得到0个video返回。 有没有人遇到过这个? 8.1是否改变了我们应该从Photos.app再次访问照片/video的方式? PHFetchOptions *options = [[PHFetchOptions alloc] init]; PHFetchResult *videos = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo options:options]; 任何帮助,将不胜感激。 更新 修改我的代码来使用PHAssetCollection调用尝试和获取相册,我得到了一些成功,现在在这两个版本我得到我的6个video中的3(不幸的是每次不一样3)。 PHFetchResult *collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:options]; PHFetchResult *videos = [PHAsset fetchKeyAssetsInAssetCollection:collection[0] options:nil]; 编辑#2 好吧,我刚刚在上面的代码中看到了我的错误,我将它留给了那些做了同样愚蠢的事情的人。 我的video抓取线正在呼吁“关键”资产,这就是为什么我只得到3。 PHFetchResult *collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:options]; PHFetchResult *videos = [PHAsset fetchAssetsInAssetCollection:collection[0] options:nil];

相机在ios 8中显示黑屏

这个代码从相机一个接一个地捕捉图像,但是在下一个图像之后,相机会打开,但黑屏(就像它的快门closures)。所有其他ios版本的工作,但不工作在ios 8.please告诉我如何解决它? -(void)openCamera { if(![PickerHandler doesDeviceSupportMediaType:ITEM_TYPE_PHOTO]) { [PickerHandler showNoDeviceSupportWarningForMediaType:ITEM_TYPE_PHOTO withDelegate:self]; } else { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.sourceType = UIImagePickerControllerSourceTypeCamera; picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage]; [self presentViewController:picker animated:YES completion:nil]; } }

iOS 8.1推送通知没有声音

该设备在iOS 8.1上运行 我正在使用xCode 6.1编译应用程序。 这是注册推送的代码 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; [application registerForRemoteNotifications]; } else { [application registerForRemoteNotificationTypes: (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)]; } 它在应用程序向服务器注册时工作正常。 PEM文件也正确完成,因为我可以使用沙箱APN将设备发送到我的设备。 当我从didReceiveRemoteNotification打印我的JSON有效载荷时,我得到这个: { aps = { alert = "Test Push Message"; }; } 问题是,当我收到我的推(即使设备设置为大声),它不会发出声音。 据我所知,如果你没有在JSON载荷中指定声音,它应该播放默认的OS声音。 在我手机上的应用程序通知设置声音默认启用,因为当我注册我指定UIUserNotificationTypeSound 。 任何人遇到这个问题?

iOS 8 iPad AVCaptureMovieFileOutput在录制13 – 14秒后丢失/丢失/从未获取音轨

我有以下代码适用于iOS 6和7.x. 在iOS 8.1中,我有一个奇怪的问题,如果您捕捉一个会话大约13秒或更长时间,则产生的AVAsset只有1个音轨(video),音轨不在那里。 如果录制的时间较短,则AVAsset有2个音轨(video和audio),如预期的那样。 我有足够的磁盘空间,应用程序有权使用相机和麦克风。 我用最less的代码创build了一个新项目,它重现了这个问题。 任何想法将不胜感激。 #import "ViewController.h" @interface ViewController () @end @implementation ViewController { enum RecordingState { Recording, Stopped }; enum RecordingState recordingState; AVCaptureSession *session; AVCaptureMovieFileOutput *output; AVPlayer *player; AVPlayerLayer *playerLayer; bool audioGranted; } – (void)viewDidLoad { [super viewDidLoad]; [self setupAV]; recordingState = Stopped; } -(void)setupAV { session = [[AVCaptureSession alloc] init]; […]

主线程正在执行长时间运行的常规Parse函数警告

首先,我知道这是什么意思。 问题是,我得到这个错误标准调用不能转换为后台调用。 我得到这个错误的应用程序开始于: [Parse enableLocalDatastore]; PFInstallation *currentInstallation = [PFInstallation currentInstallation]; 我发现这些方法是通过在warnParseOperationOnMainThread上设置一个符号断点并检查调用堆栈而导致麻烦的。 我不能用asynchronous代码来replace这些调用,而据我所知,这些方法是要定期从主线程调用。 这是一个parsing错误,或者我应该从后台线程调用所有这些方法?

在iOS 8.1下出现UIPopoverController之前的不可预知的延迟

在iOS 8.1下运行时,SDK 8.1会发生此问题,但在iOS 7下运行时不会发生此问题。仅适用于iPad。 问题出现在模拟器和硬件设备上。 下面的代码演示了一个视图控制器,它包含一行UITableView,并在其下面有一个UIButton。 点击button或在行上将popup一个popup窗口。 这在点击button时工作得很好,但是当点击tableview的行时,popover会出现一些延迟。 在我的testing中,第一次点击排行通常会出现的排名很less或根本没有延迟,但是第二次点击该排时,出现排行可能需要几秒钟的时间,而且在我点击其他地方之前通常不会出现风景。 但是,即使在第一次敲击时,延迟也会发生(特别是在硬件上进行testing时)。 我所显示的代码已经尽可能的被parsing了,同时保留了这个问题。 在我看来,UITableView在某种程度上是导致这种延迟发生的关键。 我知道一些UIPopoverController代码在iOS 8下不推荐使用。我尝试过在iOS 8中使用UIPopoverPresentationController,结果是一样的:Popover出现之前有时很长的延迟。 我还不是很熟悉这种新的方法,所以我可能会犯错误,但在任何情况下,可以通过将USE_TRADITIONAL_METHODmacros设置为0而不是1来testingiOS 8代码。 任何build议如何解决或绕过(虽然仍然使用tableview)将不胜感激。 #import "MyViewController.h" @interface MyViewController () @property (nonatomic) UIPopoverController* myPopoverController; @end @implementation MyViewController – (void)viewDidLoad { [super viewDidLoad]; // setup table view UITableView* tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 500, 500) style:UITableViewStyleGrouped]; [self.view addSubview:tableView]; tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight | […]