Tag: 背景

更新文本字段ui在迅捷的ios

当我使用ios SDK 8的swift时遇到了一个问题 我用callback来获取数据的背景,当数据提取,我想设置一个文本字段值和更新屏幕。 这里是我的代码: @IBOutlet var txtTest: UITextField! @IBAction func login() { let username = "aaa"; let password = "bbb"; var res = ServiceClient.login(username, password: password){ (res:String, error:String?) -> Void in if(error == nil){ self.txtTest.text = res; } } } 运行这个代码,数据被正确提取,并且txtTest没有更新,但是当我点击txtTest时,这个值将被显示。 那么有什么办法强制更新用户界面? 或发送消息到UI线程?

在iOS背景模式下继续播放来自html5播放器的audio

我们使用Sencha touch在html5和javascript中构build了我们的面向音乐的应用程序。 为了分发,我们用UIwebView把它包装在Xcode中。 一切运行正常,除了一件事情没有奏效:以多任务模式播放audio。 我知道一般的想法:在info.plist中添加UIBackgroundModes。 完成。 现在我们甚至可以在后台模式下播放audio。 直到我们达到歌曲的结尾。 要开始下一首歌曲,我们必须再次将应用程序放在前台,或者我们可以点击iPhoneaudio控制器上的播放或“下一首歌曲”button。 经过一番研究,我发现了一个很有希望的解决方法:“ 在iOS4上播放背景以播放audio ”,其中解决方法是编辑AVAudioSessionCategoryPlayback并使用UIBackgroundTaskIdentifier。 对于我来说,问题就在于(就像我发现的其他解决scheme一样),这些解决scheme总是假定audio是用AVaudioPlayer或MPMusicPlayerController播放的。 但在我的情况下,我用户都没有,我们的audio是由UIwebView中包裹我们的HTML5播放器播放。 当audio播放器是html5 / javascript播放器时,任何人都有关于如何在iOS多任务模式下继续播放audio的build议?

在后台模式下接收App的通知

我有一个应用程序,可以跟踪用户在iPod应用程序中执行的所有操作。 为此,我添加了一些观察员到NSNotificationCenter,像MPMusicPlayerControllerNowPlayingItemDidChangeNotification。 但是我的问题是,当我的应用程序处于前台时,我只会收到这些通知,如果它在后台,系统会将通知添加到队列中,然后下次我的应用程序变为活动状态时,会将其传递给我。 我对这个队列没有兴趣,因为我想接收实时通知。 即使我的应用程序处于暂停状态,有没有办法让我收到这些通知? 每次我得到这个NowPlayingItemDidChange通知时,我只想运行3行代码。 这里是我添加观察者的地方。 MPMusicPlayerController *iPodMediaPlayer = [MPMusicPlayerController iPodMusicPlayer]; NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; [notificationCenter addObserver: self selector: @selector(handle_NowPlayingItemChanged:) name:MPMusicPlayerControllerNowPlayingItemDidChangeNotification object:iPodMediaPlayer]; [iPodMediaPlayer beginGeneratingPlaybackNotifications]; 此外,如果我添加另一种对象而不是iPodMediaPlayer的观察者,观察者将不会调用该方法。 非常感谢, 阿巴拉

iOS不是典型的后台位置跟踪计时器问题

我正在开发一个示例应用程序,跟踪用户在后台的位置,但我不想离开位置服务始终启用,但在我的计时器中的某些行为不正确。 我的想法是,每x分钟,服务继续,当它有一个正确的新位置,它被释放,现在被设置为10秒,只是为了testing。 (显着位置变化没有窍门,没有足够的指责) 我search了很多(iOS开发人员中心+ StackOverflow),并find了“新的”后台位置function,它允许您在使用beginBackgroundTaskWithExpirationHandler,几个模块和一个计时器后,在运行后10分钟后运行代码。 我将背景模式设置为“位置”,现在我认为我不需要处理背景时间的结束(首先,我想每15-20秒获取一个位置) 代码工作“很好”,但是: 定时器有时会发生,有时不会。 计时器启动时,至less需要10分钟才能完成。 在操作系统中的一些随机操作(如进入search桌面)似乎估计计时器开火(不知道这一点,我不知道如何可能,但它是…) 通过代码将是另一个问题。 应用程序的方法: // applicationDidEnterBackground – (void)applicationDidEnterBackground:(UIApplication *)application{ NSLog(@"to background"); UIApplication* app = [UIApplication sharedApplication]; bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ [app endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; }]; // Start the long-running task and return immediately. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // Do the work associated with the task. _triggertimer = […]

背景使用单个NSURLSession uploadTaskWithRequest上传多个图像

我想要使​​用一个uploadTaskWithRequest方法在后台上传多个图像。 当尝试下面的代码返回从NSData的上传任务不支持后台会议…请如何实现这一点 func createRequest (param : NSDictionary ,imagearray :NSMutableArray, strURL : String) -> NSURLRequest { let boundary = generateBoundaryString() let url = NSURL(string: strURL) let request = NSMutableURLRequest(URL: url!) request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type") request.HTTPMethod = "POST" request.HTTPBody = createBodyWithParameters(param, image_array:imagearray,boundary: boundary); return request } func createBodyWithParameters(parameters: NSDictionary,image_array:NSMutableArray,boundary: String) -> NSData { let body = NSMutableData() […]

UIBarButtonItem上的自定义背景/透明背景?

这个效果如何实现? 代码片段非常受欢迎。 这可以在Notes应用程序和App Store上的其他应用程序中看到。 看起来,导航控制器上的button都是透明的,并显示导航控制器的自定义背景,或者他们自己有一个自定义背景适用于他们。 任何想法如何实现? 编辑: 以下是iPhone的iBooks应用程序示例。 正如你所看到的,不仅UIButtons,而且分段控件都有自定义的背景。 我在想,有一种方法可以将透明度/背景全局设置为不同的界面元素。 http://c0839932.cdn.cloudfiles.rackspacecloud.com/iBooks%201.1%20-%206.png

iOS:如何检测音乐是否在任何背景音乐应用程序中播放?

目前我的游戏正确处理了在内置的iPod应用程序中播放音乐时禁用自己的BGM,但是当潘多拉(Pandora)等应用程序正在播放音乐时,它无法检测到。 目前,在我的applicationDidBecomeActive方法中,我检查[[MPMusicPlayerController iPodMusicPlayer] playbackState]来判断音乐是否在播放。 这是什么等同于检查像潘多拉这样的应用程序是否在后台播放audio?

当应用程序进入后台时如何保持NSTimer?

我在这里,因为没有find我的问题的任何解决scheme:( 我正在做一个简单的应用程序,我必须发送(通过套接字)一些信息到服务器(如GPS升/ L,准确性,电池电量等)。 当应用程序在前台时,当前的代码工作正常。 myTimer = [NSTimer scheduledTimerWithTimeInterval: 2.0 target:self selector: @selector(sendPosToServer:) userInfo:nil repeats: YES]; myTimer2 = [NSTimer scheduledTimerWithTimeInterval: 3.0 target:self selector: @selector(sendBatteryToServer:) userInfo:nil repeats: YES]; myTimer3 = [NSTimer scheduledTimerWithTimeInterval: 5.0 target:self selector: @selector(sendResToServer:) userInfo:nil repeats: YES]; myTimer4 = [NSTimer scheduledTimerWithTimeInterval: 5.0 target:self selector: @selector(sendQResToServer:) userInfo:nil repeats: YES]; myTimer5 = [NSTimer scheduledTimerWithTimeInterval: 3.0 target:self selector: […]

具有“位置”后台模式的iOS长时间运行后台计时器

我想实现长时间运行的后台定时器,定时向服务器发送用户的位置信息。 为此,我为UIBackgroundModes设置了location模式,并在应用程序转到后台时调用beginBackgroundTaskWithExpirationHandler 。 而对于CLLocationManager ,我使用startUpdatingLocation方法(不想使用重大更改,因为我需要高精度的位置)。 但是在应用程序转到后台大约26分钟后,停止向服务器发送位置。 但该应用程序不会崩溃,所以在我把应用程序放到前台后,它可以恢复它的计时器。 26分钟是从实验,与iOS 6.1,iPhone 5。 这里有一些问题, 我不明白为什么在26分钟不到10分钟后暂停,这被称为后台任务的时间限制。 在16分钟之前, backgroundTimeRemaining方法返回double最大值。 但16分钟后从600下降,10分钟后暂停后台任务。 我已经试过在期满处理程序里面调用beginBackgroundTaskWithExpirationHandler ,但是没用。 如果有谁对这个问题有线索,将不胜感激。

使计时器在后台iOS上运行超过3分钟

所以我需要这个应用程序运行超过3分钟的计时器,并播放声音非常45秒,这里的大多数解决scheme只是不到3分钟在iOS上。 除非应用程序停止,否则有办法让它始终运行吗? 经过研究,我猜解决scheme是实现beginBackgroundTaskWithExpirationHandler 并通过在plist上给予一个handler并设置位置更新来停止它? 至于audio,除了放置plist,还有其他什么需要做audio播放? Swift如何使用NSTimer背景? iphone – NSTimers在后台在后台 运行应用程序超过10分钟