草庐IT

iOS:防止 .cacheDirectory 中的文件在存储空间已满警告时被删除

我的问题:我在缓存目录中有我的SQLite数据库文件,并将isExcludedFromBackup设置为true因为我读到,这样做会防止iOS系统在存储空间满的情况下删除它。但它仍然被删除。这是在使用iOS10.3.3的真实设备iPhone5s的开发中观察到的。SQLite数据库文件是由SQLite.swiftAPI创建的,这可能很重要但不是必须的原因。https://github.com/StephenCelis/SQLite.swift使用SQLite.swift创建文件:letpath=NSSearchPathForDirectoriesInDomains(.cachesDire

ios - Swift 将 UIImage 转换为没有 alpha channel 的 24 位 RGB

我想将UIImage转换为24位RGB,中间没有32位RGBA缓冲区。我试过了,但它不起作用(字节全为零):publicfuncpixelsRGB()->[UInt8]?{letsize=self.sizeletdataSize=size.width*size.height*3varpixelData=[UInt8](repeating:0,count:Int(dataSize))letcolorSpace=CGColorSpaceCreateDeviceRGB()letcontext=CGContext(data:&pixelData,width:Int(size.width),he

ios - Firebase 存储 - 如何无线安装 iOS

iOSOTA安装不适用于Firebase存储,我猜这是因为存储URL附加了查询字符串,如下所示:https://firebasestorage.googleapis.com/v0/b/some_project%2Fmanifest.plist?alt=media&token=some_token当我使用以.plist结尾的AmazonS3URL时,它工作正常,当我删除查询部分时,以下代码至少会响应——尽管它说它无法连接:leturl=URL(string:"itms-services://?action=download-manifest&url=\(str)")!UIApplicat

ios - Swift:在协议(protocol)一致性中覆盖协议(protocol)扩展的关联类型

所以,我正在努力实现这一目标:有一个带有associatedtype的协议(protocol),该协议(protocol)将处理json解析到他的扩展中。关联类型必须符合Decodable:protocolMyProtocol{associatedtypeResponseType:DecodablefunchandleResponse(data:Data)->ResponseType}我想要做的是将responseType的默认类型设置到我的扩展中,然后,如果需要,将该类型覆盖到类或结构一致性中。像这样。extensionMyProtocol{typealiasResponseType

ios - 关闭 UserNotificationsUI - UNNotificationContentExtensionResponseOption

我正在设置多个本地通知,并且我已经设置了通知操作数。喜欢小睡,表演,关闭。funcdidReceive(_response:UNNotificationResponse,completionHandlercompletion:@escaping(UNNotificationContentExtensionResponseOption)->Void){letid=response.notification.request.identifierifresponse.actionIdentifier=="SnoozeId"{completion(UNNotificationContentEx

ios - AVMutableComposition 内存泄漏

我的应用程序结合了视频序列,并根据情况将音乐添加到最终序列。添加音乐后,该应用会检查用户是否选择了一段视频作为开场,然后将其组合成最终视频。在运行profiler时,我在第二次和第三次执行此操作时发现内存泄漏:AVMutableComposition*composition=[AVMutableCompositioncomposition];合并初始视频序列时,未显示内存泄漏。但是,如果该应用程序添加了音乐和介绍,它就会泄漏内存。添加音乐时,我会创建一个新的乐曲,而在添加前奏时,我会创建一个新的乐曲。它不会发生在代码的同一部分。这是问题吗?我不能创建多个AVMutableComposi

ios - 我应该使用什么尺寸将背景图像放在导航栏上

我在网上查了一下,有人告诉我尺寸应该是320x44和640x88,但我试过了,结果如下:复制图像以填充导航栏的整个空间,尺寸正确并且作为一项成就也没有覆盖状态栏。感谢Objective-C 最佳答案 如果您尝试添加颜色叠加自定义导航Controller并使用自动布局添加subview。在我的一个项目中放置Logo对我很有用。 关于ios-我应该使用什么尺寸将背景图像放在导航栏上,我们在StackOverflow上找到一个类似的问题: https://stack

ios - 所有 Controller 上的快速播放器小部件

我正在我的应用程序中播放广播。并希望拥有带有信息+控制按钮的小部件,这些小部件将在播放时持续存在于应用程序中的所有Controller上。就像在iTunes中或像谷歌chromecast容器一样,它将从底部推送其他ViewController的所有元素(不是覆盖元素)我知道覆盖View可以在appdelegate中添加到keywindow,正如GoogleCastContainer添加的那样:letappStoryboard=UIStoryboard(name:"Main",bundle:nil)letnavigationController=appStoryboard.instant

iOS Swift Sqlite UNIQUE 约束失败

这是在我的第一个ViewController中,它创建了一个名为event的表并尝试插入一行。我删除我的应用程序并安装。然后我跑..然后我的日志说:失败:UNIQUE约束失败:event.eid:INSERTINTOevent(eid,passcode)VALUES(1,0);表中没有任何内容,它是空的。为什么它说我的唯一约束(主键)失败?即使抛出错误,它也会插入该行?非常感谢您的帮助!/////////////////////////////creatingeventtableifsqlite3_exec(db,"CREATETABLEIFNOTEXISTSevent(eidINTE

ios - 设置变量后 UICollectionView 为 nil

当设置了变量时,CollectionView为nil。如果我在viewDidLoad中运行,一切正常。我试图修复并搜索所有相关帖子,但我无法通过。这是我的相关代码:@IBOutletvarvnexpressContentCV:UICollectionView!varlink:String?{didSet{fetchData()}}overridefuncviewDidLoad(){super.viewDidLoad()print("viewDidLoad")vnexpressContentCV.register(UINib(nibName:"VNExpressContentCollec