When running Cucumberish BDD tests on iOS 15.3 or later, I get this error in the Xcode console:
MallocStackLogging: could not tag MSL-related memory as no_footprint, so those pages will be included in process footprint - (null)
After producing this error all of my automated Gherkin/Cucumberish tests are silently skipped, but no further errors are registered.
I can't find any MallocStackLogging options that seem to pertain to no_footprint, and the string "footprint" doesn't show up in my code base.
I don't find any references to MallocStackLogging in recent iOS release notes.
My various xctestplan files contain:
"defaultOptions" : { "mallocStackLoggingOptions" : { "loggingType" : "liveAllocations" } },
and this is the only reference to mallocStackLogging I can find in the code base.
Any explanation for what this might mean?
Post
Replies
Boosts
Views
Activity
My viewWillAppear (below) worked before iOS 15.5. Now, as part of super.viewWillAppear the OS calls titleForHeaderInSection, which crashes. It crashes because it calls getHeaderText, which depends on my variable monitor being bound. monitor doesn't get bound until my function setupUserGuideMonitor() is called.
class myClass: UITableViewController {
var monitor: UserGuideMonitor!
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.setupUserGuideMonitor()
self.listenForNotifications()
}
}
There are various ways to fix this, including calling setupUserGuidMonitor before super.viewWillAppear, but my understanding of best practices is that only minimum setup should occur before super gets called.
I have a very large code base with lots of other complex viewWillAppear calls and I am worried about other fallout from this change and other similar changes that may have occurred. I found nothing about this in the release notes for 15.5.
In general I'd like to know what protocol methods are going to be invoked during a viewWillAppear. It's not like I can look at the source code for UITableViewController.
Error Domain=NSCocoaErrorDomain Code=257 "The file “ReceiptScans” couldn’t be opened because you don’t have permission to view it." UserInfo={NSURL=file:///Users//Documents/ReceiptScans, NSFilePath=/Users//Documents/ReceiptScans, NSUnderlyingError=0x60000178e280 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
I turned off sandboxing to make this work in Big Sur with Xcode 13.1 beta, but when I upgraded to Monterey and Xcode 13.1 I started getting the error again.
let files: [URL] = try FileManager.default.contentsOfDirectory(at: path, includingPropertiesForKeys: nil, options: [FileManager.DirectoryEnumerationOptions.skipsHiddenFiles])
I checked and sandboxing is still turned off. I cleaned the build directory and recompiled. Can't make it work. Have the permissions been changed? Have some API's been changed?
Because sandboxing is turned off I don't think I should have to use any special entitlements.