Post

Replies

Boosts

Views

Activity

How do I cause a timer to fire while the app is in the background?
When I write code for a timer like below, the timer doesn't fire if the device is locked. How do I cause the code in the timer closure to run when the app is in the background? Are there any other ways to cause specific code to run at a certain time when the app is in the background? func setTimer(alarm: UTIAlarm) { let timer = Timer(fire: alarm.date!, interval: 0, repeats: false) { (timer: Timer) in print("timer fire \(self.dateFormatter.string(from: alarm.date!))") do { try AVAudioSession.sharedInstance().setActive(true, options: .notifyOthersOnDeactivation) } catch { print("Failed to setActive AVAudioSession from timer closure.") print(error.localizedDescription) } let predicate = MPMediaPropertyPredicate(value: alarm.mediaItem!.title, forProperty: MPMediaItemPropertyTitle) let query = MPMediaQuery() query.addFilterPredicate(predicate) self.playerController!.setQueue(with: query) self.playerController!.play() } runLoop.add(timer, forMode: .default) timers.append(timer) }
Topic: UI Frameworks SubTopic: UIKit Tags:
7
0
3.7k
Oct ’21
Environment variables
In Info.plist of my Xcode project, I see for instance "Executable file" is set to "$(EXECUTABLE_NAME)". I believe that "$(EXECUTABLE_NAME)" is called an environment variable. What I'd like to know is where is that environment variable set. I'd like to see where all the environment variables are set so I can use those values.
6
0
12k
Sep ’21
Transformable properties errors
I'm getting the following error messages:CoreData: annotation: Failed to load optimized model at path '/var/containers/Bundle/Application/0E3DF5FB-DA57-4A63-98FE-59E2961C6F50/Routes.app/GoogleMaps.bundle/GMSCacheStorage.momd/StorageWithTileProto.omo'2020-01-11 17:19:50.885657-0600 Routes[1913:394464] [error] fault: One or more models in this application are using transformable properties with transformer names that are either unset, or set to NSKeyedUnarchiveFromDataTransformerName. Please switch to using "NSSecureUnarchiveFromData" or a subclass of NSSecureUnarchiveFromDataTransformer instead. At some point, Core Data will default to using "NSSecureUnarchiveFromData" when nil is specified, and transformable properties containing classes that do not support NSSecureCoding will become unreadable.. . .CoreData: warning: Property 'value' on Entity 'GMSCacheProperty' is using nil or an insecure NSValueTransformer. Please switch to using "NSSecureUnarchiveFromData" or a subclass of NSSecureUnarchiveFromDataTransformer instead.. . .2020-01-11 17:20:08.491131-0600 Routes[1913:394093] Can't end BackgroundTask: no background task exists with identifier 13 (0xd), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.I don't know what the problem is because I am not using any CoreData Attributes of type Transformable nor is there any code in my project about anything transformable. I have searched with Google for this error, but have not found a solution that works.
4
0
3.0k
Sep ’21
Does unifiedContacts(matching:keysToFetch:) return only unified contacts and leave out non-unified contacts?
When I use the Contacts Framework with Swift for iOS 15 using Xcode 13, when I use CNContactStore instance method unifiedContacts(matching:keysToFetch:), what happens to those CNContact objects that are not linked with any other CNContact objects, would they be returned as non-unified contacts, or would they be left out since they are non-unified contacts?
2
0
894
Nov ’21
Why is it when I set UITableViewController navigationItem.searchController with UISearchController, navigation.searchController still is nil?
For some reason, when I set UITableViewController navigationItem.searchController with a UISearchController, it doesn't take it. Here is my code: let searchController = UISearchController(searchResultsController: nil) if #available(iOS 11.0, *) { print("?", navigationItem.searchController) print("!", searchController) navigationItem.searchController? = searchController print("?", navigationItem.searchController) } else { tableView.tableHeaderView = searchController.searchBar } Here is the debug window: ? nil ! <UISearchController: 0x105077600> ? nil
1
0
389
Dec ’21
Is the Console app an app that runs on iOS that I can get straight from the App Store?
Would someone explain something about this content I got from this URL to Apple documentation? Logging ”You view log messages using the Console app, log command-line tool, or Xcode debug console. You can also access log messages programmatically using the OSLogframework.” I’m not sure what Console app runs on. Is that an app on macOS? I’m not really sure what to ask really. I’m looking for a way to get debug data from people using my app who download it from the App Store, so they won’t be using TestFlight. I did a search on Google but didn’t find what I needed to know. I’m trying to connect to the App Store on my iPhone, but it’s not able to connect. That seems to happen often for some reason. I wonder if this is talking about the Console app that I’m wondering about? https://help.dayoneapp.com/en/articles/470117-using-ios-console
1
0
3.7k
Jan ’22
What to use instead of the deprecated ABAddressBookRegisterExternalChangeCallback(::_:) function?
I found information about the ABAddressBookRegisterExternalChangeCallback(::_:) function of the Address Book Framework, but that function has been deprecated, and only works with iOS 2.0–9.0. I don't see a function in the Contacts Framework that does what that function does. Is there some way that the Contacts Framework could do something that this function provided a solution for?
1
0
1.1k
Mar ’22
Is there a way to cause my app or a background task start running automatically when the iOS device is turned back on after being turned off?
I think I'm only entertaining wishful thinking, but I hope it is possible to somehow cause my iOS app or a background task to start up when the iOS device starts up, like when it was turned off and then turned back on. Does even the user of the device have a way to do this in iOS? I saw some threads saying something like this might be possible using MDM or supervised devices or kiosk mode or guided access. Those all seem to require the user or administrators to do some setting up. I want my app or background task to be able to do what I mentioned right as it comes after it is installed from App Store.
1
0
516
Mar ’22