Tag: ios10

NSFetchRequest核心数据Swift 3向后兼容

我已经转换我的代码在swift 3.我在我的应用程序中使用核心数据。 如您所知,NSFetchRequest已被更改。 在迅速2是: let request = NSFetchRequest(entityName: "UnsyncedTask") 在迅捷3: let request:NSFetchRequest<NSFetchRequestResult> = UnsyncedTask.fetchRequest() 我的问题是,它只支持ios 10.我怎样才能使其后向兼容? 我希望支持ios 9的NSFetchRequest,使用swift 3的ios 10。

崩溃请求授权给iOS 10中的照片库

我有一个示例iOS 10应用程序请求授权到照片库和崩溃在一个真实的设备上有以下崩溃错误: PhotosAuthorizationCrashTest[2014:42551] [access] <private> 回购可以在这里find 这是请求授权的代码(Swift 3.0): private func requestAuthorizationIfNeeded() { DispatchQueue.main.async { let status = PHPhotoLibrary.authorizationStatus() if status == .authorized { return } PHPhotoLibrary.requestAuthorization({ (status) in if status == .authorized { return } NSLog("Could not get authorization to access photos") }) } }

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 10上无理由调用applicationWillResignActive(swift 3)

当我在iOS 10上启动我的应用程序时,可以看到在短暂的延迟之后,Appdelegate函数 – > applicationWillResignActive()被调用。 这没有理由。 应用程序仍然处于活动状态,并处于前台状态,并且应用程序继续正常运行。 请参阅上面我的应用程序的生命周期: – >点击应用程序图标 应用程序启动 应用程序 – > didFinishLaunchingWithOptions 应用程序 – > applicationDidBecomeActive RootViewController – > viewDidAppear 应用程序 – > applicationWillResignActive < – 问题! 应用程序 – > applicationDidBecomeActive < – 再次?? 在这一点上,应用程序仍然运行没有错误 每次打开应用程序时都会重复这个顺序。 它看起来好像有东西强迫我的应用程序退出前台状态超短暂的延迟。 通常,当应用程序显示警报(例如,如果应用程序需要用户访问摄像头的权限)或者用户单击主页button时,会调用applicationDidBecomeActive。 1 – 只有当应用程序以横向模式启动时才会发生 2 – 它只发生在iPhone上,而不是在iPad上 3 – 在iOS 9设备上不会发生此问题 有没有人注意到这个问题?

iOS 10 UITabBar更多项目设置标题后可见

我的应用程序中有一个标签栏,标签栏项目是UITabBarItem的子类。 从服务器获取更新后,这些标签栏项目使用以下代码从代码中设置其标题: [self setTitle:@"SomeText"]; 一旦这一行运行,之前隐藏的选项卡栏项(在更多选项卡后面)将在主选项卡区域中可见,并堆叠在其他选项卡顶部。 请参阅下面的截图。 这只发生在iOS 10(testing版)中。 这是我的代码中的错误还是iOS 10中的问题? 我已经创build了一个最小的XCode项目,并发布到Github来演示这个问题: https : //github.com/RippleAdder/TabStacks

如何检查是否安装了Apple Maps

任何人都知道如何检查苹果地图是否安装? 我找不到文档中的任何内容。 使用iOS10用户可以删除Apple Maps应用程序。 而对于谷歌地图,我们可以使用UIApplication.shared.canOpenURL()来检查它是否安装。 我不知道有这样的事情来检查苹果地图。 当然可以用mapItem.openInMaps()来检查是否打开一个MKMapItem ,但是这对于提前检查是没有帮助的。

无法识别的select器UIDeviceRGBColor countByEnumeratingWithState:objects:count:

我知道这是一种愚蠢的行为,但是我还没有足够的声望来评论原文,虽然我没有答案,但我确实有更多有用的信息(一个具体的例子)。 版主,随时将其移动到适当的位置。 当使用最新的XCode 8 beta 6(iOS 10 SDK)编译我的代码时,我得到一个exception“由于未捕获的exception'NSInvalidArgumentException',原因:' – [UIDeviceRGBColor countByEnumeratingWithState:objects:count:]:无法识别的select器实例0x600000071340'“ 这在通话过程中发生: auto viewController = [[[UIViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease]; 我已经把我的项目削减到最低限度,将编译和仍然存在问题孤立的问题。 你可以在这里下载: 示例项目 请注意,我拿出了很多代码,几乎所有的类都消失了,这导致了从xib引用的不存在的类的很多警告(而不是错误)。 但是这并不重要,代码仍然可以在iOS 9 SDK中编译和运行。 然而,在使用iOS 10 sdk编译之后,它在模拟器和运行iOS 9的设备上都崩溃了。 您可以通过在文件“HackForUnrecognizedSelectorInIOS10.m”中将“#if 0”更改为“#if 1”来解决该问题。 这添加了一个类别,用于定义UIColor的缺失select器。 但显然你不能将其添加到运输代码中,这只是暂时的权宜之计。 我提交了一个错误报告(28153870)。 但如果任何人有更多的信息,如何避免这个问题没有丑陋的黑客,任何信息是值得欢迎的。 谢谢 米歇尔·科尔曼

对于iOS 10中的新UserNotifications,是否还有〜64本地通知限制?

在iOS 9之前的所有内容中,一次可以安排64个通知的限制。 新的通知系统是否仍然如此,或者我可以提前多less时间安排新的UNUserNotifications?

在iOS 10中获得电话状态

我想在我的应用程序中获得电话状态。 经过一番search,我find了CoreTelephony框架。 但是在iOS 10中已经弃用了。那么还有其他的select吗? 我也find了CallKit 。 iOS 10中的一个新框架。但是没有得到与我search相同的调用状态。

位置权限对话框会在iOS 10中提示大量时间

在iOS 10中,有时在安装应用程序时,位置权限提示会打开大量时间并挂起所有应用程序,无法进一步移动。 这里是我的代码在iOS 10之前 -(void)startLocationManager{ self.locationManager=[[CLLocationManager alloc]init]; self.locationManager.desiredAccuracy=kCLLocationAccuracyBest; self.locationManager.delegate=self; if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) { [self.locationManager requestWhenInUseAuthorization]; } [self.locationManager startUpdatingLocation]; } -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ if (self.myCurrentLocation==nil) { self.myCurrentLocation=[locations lastObject]; [[WALocationManager WALocationSharedInstance] checkLatestLocation]; } else{ if (self.myCurrentLocation.horizontalAccuracy < 0){ return; } self.myCurrentLocation=[locations lastObject]; if([[WALocationManager WALocationSharedInstance] currentLocation]!=self.myCurrentLocation ){ } } } 在我的plist文件中, <key>NSLocationAlwaysUsageDescription</key> <string>This app will use your […]