Posts

Post not yet marked as solved
2 Replies
I managed to clean up after Strongsync as follows: Remove ~/Library/Application Support/FileProvider/com.expandrive.strongsync.fileprovider (this is where the configuration files that tell macOS to mount its providers go - Strongsync doesn't properly clean these up when you delete the connection). Uninstall Strongsync (unless you intend to re-establish some connections; if you don't uninstall it, the folder above will re-appear, albeit harmlessly with just some default entries). Restart your Mac (must be a restart, not a logout/in, or macOS won't let go enough for you to do the next step). Go to ~/Library/CloudStorage in the Finder. Delete the folders that start with Strongsync (you can select and command-delete or drag them to the trash, whichever you prefer). Finder will prompt you for authentication; provide it. Strongsync should now stop automatically restarting, and its directories shouldn't appear in CloudStorage any more. Note that this completely removes all connections that Strongsync has established (which is usually what you'll want to do since unfortunately, as you mentioned, the connections aren't too reliable). If you want to only remove some, the only way I know of is to clear them all out, then run Strongsync and re-add any that you want. You might be able to examine the files in ~/Library/Application Support/FileProvider/com.expandrive.strongsync.fileprovider and edit them more strategically, but I didn't try as I was trying to clear them all out.
Post not yet marked as solved
18 Replies
There are a few possible causes of / solutions to this error, some of which are detailed in previous responses. To hopefully help people coming across this as I did, I'll aggregate the solutions and add the one that worked in my case (adding .plist to the filename). For sake of example, let's say we're adding a launch agent for the user "johnny" whose service name is "com.appleseed.runthings". Make sure your filename ends in .plist, e.g. /Users/johnny/Library/LaunchAgents/com.appleseed.runthings.plist Check the syntax of the file: plutil /Users/johnny/Library/LaunchAgents/com.appleseed.runthings.plist Unload and reload your service: launchctl unload /Users/johnny/Library/LaunchAgents/com.appleseed.runthings.plist launchctl load /Users/johnny/Library/LaunchAgents/com.appleseed.runthings.plist Force load in case your job has been disabled: launchctl load -w /Users/johnny/Library/LaunchAgents/com.appleseed.runthings.plist
Post not yet marked as solved
3 Replies
This looks like a bug in the App Store API - I've filed a bug report (FB7593637); suggest you do the same if you haven't. I haven't found an easy workaround other than rewriting the extension to not use a storyboard.Note that if you're not really using the storyboard (e.g. you're just updating the default controller that comes with the Xcode template), you can work around this issue by updating your extension's Info.plist file to include NSExtensionPrincipalClass and remove the storyboard (NSExtensionMainStoryboard):You need to have the module name in front of your class name for the sharing extension to work. My controller is called "ShareViewController". Set the value of "NSExtensionPrincipalClass" to "$(PRODUCT_MODULE_NAME).YourPrincipalControllerName".More info:https://www.kairadiagne.com/2019/02/18/what-i-learned-from-building-an-app-extension.htmlhttps://stackoverflow.com/questions/24416003/writing-an-ios-8-share-extension-without-a-storyboard
Post not yet marked as solved
5 Replies
To answer the original question: Yes, screenshots for both "iPad Pro (12.9-inch) (2nd generation)" and "iPad Pro (12.9-inch) (3rd generation)" are required.Xcode 11 by default only includes a simulator for "iPad Pro (12.9-inch) (3rd generation)", but you can install a simulator for "iPad Pro (12.9-inch) (2nd generation)":Open XcodeWindow > Devices and SimulatorsSelect Simulators tab. The list of your current siumulators should appear in the the left sidebar of the window.Click the "+" at the bottom of the sidebar. The "Create a new simulator" sheet should appear.Click the Device Type menu and select "iPad Pro (12.9-inch) (2nd generation)"Click CreateThen you can create screenshots for the "iPad Pro (12.9-inch) (2nd generation)" using your new old simulator.
Post marked as solved
8 Replies
For anyone else finding this:You need to call container.initializeCloudKitSchema() after container.loadPersistentStores.You don't really need to call container.initializeCloudKitSchema() at all, as CloudKit will create your schema on the fly. initializeCloudKitSchema just sends some fake data for your model, so it's handy to see if anything's going to break that Xcode didn't warn you about.Here's some code that works in Xcode 11 beta 5 to initialize an NSPersistentCloudKitContainer using a local store and a cloud store (see the Manage Multiple Stores section of the Setting Up Core Data doc). // MARK: - Core Data stack /// Convenience method so you can do DataManager.shared.context instead of DataManager.shared.persistentContainer.viewContext. lazy var context = self.persistentContainer.viewContext /// persistentContainer.viewContext lazy var persistentContainer: NSPersistentContainer = { /* The persistent container for the application. This implementation creates and returns a container, having loaded the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail. */ let container = NSPersistentCloudKitContainer(name: "Model") // Put our stores into Application Support var storePath: URL do { storePath = try FileManager.default.url(for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true) } catch { fatalError("Unable to get path to Application Support directory") } // Create a store description for a local store let localStoreLocation = storePath.appendingPathComponent("local.store") let localStoreDescription = NSPersistentStoreDescription(url: localStoreLocation) localStoreDescription.configuration = "Local" // Create a store descpription for a CloudKit-backed local store let cloudStoreLocation = storePath.appendingPathComponent("cloud.store") let cloudStoreDescription = NSPersistentStoreDescription(url: cloudStoreLocation) cloudStoreDescription.configuration = "Cloud" // Set the container options on the cloud store cloudStoreDescription.cloudKitContainerOptions = NSPersistentCloudKitContainerOptions( containerIdentifier: "iCloud.com.mydomain.mycontainer") // Update the container's list of store descriptions container.persistentStoreDescriptions = [ cloudStoreDescription, localStoreDescription ] container.loadPersistentStores(completionHandler: { (storeDescription, error) in if let error = error as NSError? { // Replace this implementation with code to handle the error appropriately. // fatalError() causes the application to generate a crash log and terminate. // You should not use this function in a shipping application, although it may be useful during // development. /* Typical reasons for an error here include: * The parent directory does not exist, cannot be created, or disallows writing. * The persistent store is not accessible, due to permissions or data protection when the device * is locked. * The device is out of space. * The store could not be migrated to the current model version. Check the error message to determine what the actual problem was. */ fatalError("Unresolved error \(error), \(error.userInfo) for \(storeDescription)") } }) do { // Uncomment to do a dry run and print the CK records it'll make // try container.initializeCloudKitSchema(options: [.dryRun, .printSchema]) // Uncomment to initialize your schema try container.initializeCloudKitSchema() } catch { print("Unable to initialize CloudKit schema: \(error.localizedDescription)") } return container }()