Posts

Post not yet marked as solved
0 Replies
330 Views
I have a few crash reports from Testflight. I haven't touched the project since sending uploading it, so I know none of the code has changed.After symbolicating the crash reports, however, every line of the stack trace is grayed out except for main. It won't let me jump to the file, much less the line, of any of the stack frames in my own code.
Posted
by greay.
Last updated
.
Post not yet marked as solved
0 Replies
366 Views
I'm having a lot of trouble figuring out how to properly implement state restoration for a UITableViewController. I want it to restore to the same position in the table. In my case, the content is dynamic – it doesn't change frequently, but it does change. And the cells are of variable height.My problem is I don't know quite what data to save in encodeRestorableState, or how to properly decode it. Since the backing data is rather large, and dynamic (populated via an NSMetadataQuery), it doesn't seem feasible to encode *all* the state.I've tried the simplest – just storing the index path of the topmost visible row, and scrolling to it in decode. I also store placeholder content for all the visible cells. But as soon as the backing data is loaded, it jumps to the wrong position, assumedly because without the backing data it doesn't know what position that cell should be in the scrollView. So I store the calculated height for all the cells up to the highest visible cell, but it still jumps.I realize this is a pretty open-ended question, but I'm not even sure where to start.EDITafter some further digging, I've added restoration IDs to the tableview itself (I had only had one for the tableViewController). This let me remove my manual scrolling to the "proper" row, but it's still off by a bit.for example, if on close, rows 23..30 are visible, after restoration, it's 28..44.So it's almost right. But I'm still not sure what I'm doing wrong.
Posted
by greay.
Last updated
.
Post not yet marked as solved
3 Replies
864 Views
I've been banging my head on this for a while, and can't for the life of me figure out how to set the searchBarStyle of a UISearchController's searchBar to .minimal, when it's in a navigation item.let controller = UISearchController(searchResultsController: nil) controller.hidesNavigationBarDuringPresentation = true controller.obscuresBackgroundDuringPresentation = false controller.searchBar.searchBarStyle = .minimal controller.searchResultsUpdater = self controller.searchBar.delegate = self self.searchController = controller self.navigationItem.searchController = controllerAm I doing something wrong? Or is this just not supported publicly? As far as I can tell, the default Notes app does something very similar to this, so I'd expect it to be supported, but I simply can't figure it out.
Posted
by greay.
Last updated
.
Post not yet marked as solved
3 Replies
1.7k Views
The rejection states:The key LSMinimumSystemVersion in the Info.plist file has the value '$minimumSystemVersion', which is invalid. This string indicates the minimum version of macOS required for this application to run and must be of the form n.n.n where n is a number. For more information, see the Information Property List Key Reference.But the key's not even present in my Info.plist, nor is the string '$minimumSystemVersion'
Posted
by greay.
Last updated
.
Post not yet marked as solved
2 Replies
3.0k Views
I'm trying to submit an app developed with Unity to the Mac App Store. It passes the initial validation and any checks I can do locally, but after uploading via the Application Loader, I get an email saying that it has an invalid signature. But nothing in the email suggests what's invalid.Invalid Signature - The main app bundle Handy at path Handy.app has following signing error(s): --prepared:/Volumes/data01/app_data/dstr/mz_7048322556278134848dir/mz_7069782112105468035dir/com.beliefengine.handyapp-osx.pkg/Payload/Handy.app/Contents/Frameworks/MonoEmbedRuntime/osx/libmono.0.dylib --validated:/Volumes/data01/app_data/dstr/mz_7048322556278134848dir/mz_7069782112105468035dir/com.beliefengine.handyapp-osx.pkg/Payload/Handy.app/Contents/Frameworks/MonoEmbedRuntime/osx/libmono.0.dylib --prepared:/Volumes/data01/app_data/dstr/mz_7048322556278134848dir/mz_7069782112105468035dir/com.beliefengine.handyapp-osx.pkg/Payload/Handy.app/Contents/Frameworks/MonoEmbedRuntime/osx/libMonoPosixHelper.dylib --validated:/Volumes/data01/app_data/dstr/mz_7048322556278134848dir/mz_7069782112105468035dir/com.beliefengine.handyapp-osx.pkg/Payload/Handy.app/Contents/Frameworks/MonoEmbedRuntime/osx/libMonoPosixHelper.dylib /Volumes/data01/app_data/dstr/mz_7048322556278134848dir/mz_7069782112105468035dir/com.beliefengine.handyapp-osx.pkg/Payload/Handy.app: valid on disk /Volumes/data01/app_data/dstr/mz_7048322556278134848dir/mz_7069782112105468035dir/com.beliefengine.handyapp-osx.pkg/Payload/Handy.app: satisfies its Designated Requirement test-requirement: code failed to satisfy specified code requirement(s) . Refer to the Code Signing and Application Sandboxing Guide at http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at https://developer.apple.com/library/mac/technotes/tn2206/_index.html for more information.Invalid Signature - The executable at path Handy.app/Contents/Frameworks/MonoEmbedRuntime/osx/libMonoPosixHelper.dylib has following signing error(s): valid on disk /Volumes/data01/app_data/dstr/mz_7048322556278134848dir/mz_7069782112105468035dir/com.beliefengine.handyapp-osx.pkg/Payload/Handy.app/Contents/Frameworks/MonoEmbedRuntime/osx/libMonoPosixHelper.dylib: satisfies its Designated Requirement test-requirement: code failed to satisfy specified code requirement(s) . Refer to the Code Signing and Application Sandboxing Guide at http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at https://developer.apple.com/library/mac/technotes/tn2206/_index.html for more information.Invalid Signature - The executable at path Handy.app/Contents/Frameworks/MonoEmbedRuntime/osx/libmono.0.dylib has following signing error(s): valid on disk /Volumes/data01/app_data/dstr/mz_7048322556278134848dir/mz_7069782112105468035dir/com.beliefengine.handyapp-osx.pkg/Payload/Handy.app/Contents/Frameworks/MonoEmbedRuntime/osx/libmono.0.dylib: satisfies its Designated Requirement test-requirement: code failed to satisfy specified code requirement(s) . Refer to the Code Signing and Application Sandboxing Guide at http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at https://developer.apple.com/library/mac/technotes/tn2206/_index.html for more information.It says it has an invalid signature, but everything it lists says "valid on disk" and confusing things like "satisfies its Designated Requirement" followed by "code failed to satisfy specified code requirement(s)".I'm really at a loss here. I've read through quite a bit of both of the linked articles, but neither shed any light on how to actually fix this.
Posted
by greay.
Last updated
.
Post marked as solved
3 Replies
703 Views
I'm working on a Unity app that includes a native plugin to save images. Debug builds, so far, work fine – as does the code-signed build to test in-app purchases, but once I include sandbox entitlements, we're unable to save screenshots. This isn't entirely unexpected, as I haven't done much with app sandboxing before...But when I attach the app to Xcode to step through the native plugin code, to see where it's breaking down, I see that where it's failing is in creating the NSSavePanel itself. [NSSavePanel savePanel] simply returns nil. No errors, no exceptions, nothing.What exactly is going wrong? If it was an entitlements issue, I'd expect some error to be thrown. Since the part that handles the open/save panels is a framework, it itself doesn't have a Capabilities tab & I have to sign & add the entitlements from the command line.
Posted
by greay.
Last updated
.
Post not yet marked as solved
1 Replies
1.4k Views
I'm trying to craft an NSMetadataQuery to automatically reopen the last UIDocument in an iOS app. But I'm running into 2 problems. The code is very simple:self.metadataQuery.predicate = NSPredicate(format: "%K like[c] '*.notes'", NSMetadataItemFSNameKey) self.metadataQuery.searchScopes = [NSMetadataQueryUbiquitousDocumentsScope, NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope] let sort = NSSortDescriptor(key: NSMetadataItemFSContentChangeDateKey, ascending: true) self.metadataQuery.sortDescriptors = [sort]First problem is, changing the sort from ascending to descending does nothing. The results are identical either way. But at least that I can work around by manually sorting.The other problem, though, is that not all applicable documents are being returned by the search, and I have no idea how to troubleshoot this. Documents opened up manually with the document picker are not included in the results. But these should by all means be included in the NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope.Also, I can't run it in the simulator, because none of the "ubiquitious" locations show up there, like the shared Documents folder. And if I try to set the searchScopes to an empty array (according to the documentation, "An empty array indicates that there is no limitation on where the query searches."), it never posts any notifications.EDIT:For what it's worth, I've filed a bug report - 38400938.
Posted
by greay.
Last updated
.
Post not yet marked as solved
0 Replies
650 Views
I'm trying to set up a simple "document" structure for a pair of macOS/iOS apps. Right now, it's very simple, just a folder of documents, but the important thing is being able to tag each document.I was looking into trying to treat these folders as file bundles, allowing me to use the NSDocument / UIDocument frameworks, which worked great on the macOS side. But on iOS, once the files were inside a bundle, I could no longer access the xattrs. NSMetadataQuery won't find the files inside a package, which may be as designed, but even the child FileWrappers don't include any of the extended attributes (whereas for the same bundle, they're visible on macOS). Even dropping down to use listxattr doesn't return the expected attributes.Is there any way around this? Is it an oversight, a bug?EDIT:I've had to settle on creating a plist to record the extended attributes, and ensuring it stays in sync between the phone & desktop, which is less than ideal. Especially given that as far as I can tell, the information *is* preserved on iOS, it's just inaccessible.Is this something that might be opened up in the future, or is there another way around it that I'm missing?
Posted
by greay.
Last updated
.
Post not yet marked as solved
4 Replies
843 Views
I have a FileWrapper that holds a bunch of child documents. FileWrapper automatically handles assigning unique filenames to duplicates, but it does so in a pretty ugly manner – rather than, for example, "Untitled", "Untitled 2", "Untitled 3" it gives me:"Untitled", and then "1__#$!@%!#__Untitled", "2__#$!@%!#__Untitled"Is there a better way to assign names to these? Ideally I'd be able to supply a desired scheme for unique-ifying filenames, like a format string. Otherwise, what's the best way to ensure a child wrapper gets a sane suffix when there's duplicates?
Posted
by greay.
Last updated
.
Post not yet marked as solved
2 Replies
2.2k Views
How do you set up sandbox accounts for family sharing, in order to test deferred purchases?It seems weird & wrong to have to enter credit card information for a sandbox tester, so I feel like I must be doing something wrong.
Posted
by greay.
Last updated
.
Post not yet marked as solved
0 Replies
266 Views
I have a custom view I want to expose bindings for, but I have no idea where to expose the bindings – every tutorial, and even the documentation, says this is "is typically invoked in the class’s initialize implementation", but as of Swift 3.1, apparently, this is no longer allowed.
Posted
by greay.
Last updated
.