草庐IT

ios - Swift CMMotionActivityManager 未显示正确的授权状态

我正在尝试创建一个非常简单的计步器,并且正在关注KamilWysocki的文章https://brightinventions.pl/blog/coremotion-pedometer-swift/.但是,我的.isActivityAvailable()返回False,阻止我的任何其他函数启动。此外,我的CMMotionActivityManager.authorizationStatus()调用返回3(已拒绝)。我一辈子都弄不明白为什么会这样。我已将MotionUsageDescription添加到我的info.plist中,并在我的iPhone模拟器上启用了授权。我还尝试在调试菜单

ios - 如何在应用程序处于非事件状态时获取推送通知 ios swift3

我可以在应用程序打开时获取推送通知。但是当我的iOSnative应用程序处于非事件状态时,不会触发通知。我也分享了我的源代码。谁能指导我如何完成这项任务?extensionAppDelegate:MessagingDelegate{//[STARTrefresh_token]funcmessaging(_messaging:Messaging,didReceiveRegistrationTokenfcmToken:String){print("Firebaseregistrationtoken:\(fcmToken)")letdataDict:[String:String]=["tok

ios - 如何让iPhone/iPad完全忘记某个应用的媒体授权状态?

这是交易:我正在编写一个应用程序来播放用户库中的音乐。我正在使用MP授权方法,如下所示:if.authorized==MPMediaLibrary.authorizationStatus(){//Alreadyauthorized?Headonin!ifinDisplayWholeScreenThrobber{self._showLargeLookupThrobber()}ifletsongItems:[MPMediaItemCollection]=MPMediaQuery.songs().collections{self._loadSongData(songItems)self._s

ios - 套接字处于后台状态 iOS

也许有人解决了应用程序在后台时与服务器稳定连接的问题?我需要将音频数据从服务器传输到客户端应用程序。我知道iOS的所有黑客如何使应用程序保持事件状态,但我需要合法的方法来解决这个问题。也许你有什么想法?我发现我可以将VoIP推送发送到设备,这将唤醒我的应用程序,然后建立到我的服务器的tcp连接,但是这个套接字将保持事件状态大约30秒(正如我在日志中看到的,每3秒在iOS应用程序中触发发送的计时器数据到服务器)这对我来说还不够。 最佳答案 也许这个项目https://github.com/SmallSharpToolsOpenSour

ios - 如何获取多个 DispatchWorkItems 的取消状态

背景我正在实现搜索。每个搜索查询都会产生一个DispatchWorkItem,然后排队等待执行。由于用户触发新搜索的速度比完成前一个搜索的速度快,因此我想在收到新搜索后立即取消前一个搜索。这是我当前的设置:varcurrentSearchJob:DispatchWorkItem?letsearchJobQueue=DispatchQueue(label:QUEUE_KEY)funcupdateSearchResults(forsearchController:UISearchController){letqueryString=searchController.searchBar.te

ios - Objective-C/Xcode 状态栏颜色与导航栏颜色相同

我试图让我的状态栏和我的导航栏颜色相同,而不是和我的背景颜色相同。我还没有找到任何适用于iOS12Objective-C的解决方案,并且不会让我的应用程序被应用程序商店禁止。这就是我设置导航栏的方式:[navControllersetBarTintColor:[UIColorcolorWithRed:0.26green:0.53blue:0.96alpha:1.0]];[navControllersetTranslucent:FALSE];[navControllersetBarStyle:UIBarStyleBlack];[navControllersetTintColor:[UIC

iOS 在未运行状态下从 BLE 获取数据

我在前台和后台状态下成功地从BLE获取数据。并且还调用了核心蓝牙框架各自的委托(delegate)方法。用户强制退出应用程序后,我想要来自BLE设备的数据。是否可以在未运行状态下从BLE获取数据?或者有没有像iBeacon一样在非运行状态下调用的方法? 最佳答案 我认为除非使用iBeaconBLE设备,否则这是不可能的。如UnderstandingWhenYourAppGetsLaunchedintotheBackground中所述部分:Appsthatsupportbackgroundexecutionmayberelaunche

ios - AVPlayer 和 AVPlayerItem 状态什么时候改变?

我正在使用AVFoundation在flutter中开发一个音乐播放器插件,我想在iOS和Android上创建一个统一的界面。我想捕获AVPlayer可能抛出的错误,例如,给定的AVPlayerItem无效(包含URL不受支持的文件,例如png文件)。我希望AVPlayer.replace()抛出异常或改变AVPlayerItem或AVPlayer的状态或至少一些相关通知在NSNotificationCeter上。我试着听/观察所有这些,但没有一个报告任何类型的错误。事实上,AVPlayer报告了“准备播放”状态。mediaPlayer=AVPlayer();playerItem=AV

iOS 13 检查 CLLocationManager 的临时授权状态

根据WWDC视频,https://developer.apple.com/videos/play/wwdc2019/705/,当您请求“AlwaysAuthorization”权限时,您只会看到“WhenInUse,OnceandDon'tallow”。即使您点击“WhenInUse”,代理回调也将作为kCLAuthorizationStatusAuthorizedAlways返回。这按预期工作。但是有没有办法发现请求仍然是临时的或实际上总是允许的?没有与此权限关联的枚举。唯一允许的枚举是:kCLAuthorizationStatusNotDetermined,kCLAuthoriza

ios - iOS13更改状态栏背景颜色

在iOS13中,我无法再更改状态栏的背景颜色,因为无法再使用“键值”访问状态栏。有没有人知道这是怎么可能的,或者是否知道在iOS13的最终版本中这是可能的?我已经遇到了不同的建议,比如使用UIApplicationsStatusBarView(在xcode11,beta7中不再可用)或使用statusbarmanager。两者都不允许访问状态栏。letstatusBar:UIView=UIApplication.shared.value(forKey:"statusBar")as!UIViewifstatusBar.responds(to:#selector(setter:UIView