Post

Replies

Boosts

Views

Activity

Collection or tableView inside a tableView cell broke in Mac Catalyst
Hello, I'm using UITableViews with cells containing either a UICollectionView or UITableView in them. The cell's height is dependent on the content of the table/collectionView inside it. Think of it like the sections in the Settings app. This all has been working fine for 2 years now (on iPhone/iPad/Mac running Mac Catalyst), but this week's macOS 12.5 release has caused every cell like this to have some items seemingly missing. However, clicking on a missing item will still have the correct action work, or moving the mouse around/above the missing cells, they will cause the correct content to appear. Here's a code snippet of a tableView cell with a UITableView in it: class SettingsCell: UITableViewCell, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var contentTable: UITableView! //Height constant of tableView in cell @IBOutlet weak var contentTableHeightConstraint: NSLayoutConstraint! private var _type: SettingType = .unknown override func awakeFromNib() { super.awakeFromNib() contentTable.delegate = self contentTable.dataSource = self contentTable.isScrollEnabled = false contentTable.register(UINib(nibName: "SettingsRowCell", bundle: nil), forCellReuseIdentifier: "SettingsRowCell") contentTable.estimatedRowHeight = 45.0 contentTable.rowHeight = UITableView.automaticDimension layoutIfNeeded() contentTableHeightConstraint.constant = contentTable.contentSize.height } //This is called in the cellforRowAt method in the parent table where it chooses which type of settings section to show func updateWithType(type: SettingType) { _type = type contentTable.reloadData() layoutIfNeeded() contentTableHeightConstraint.constant = contentTable.contentSize.height } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if type == .general { return generalArray.count } else if type == .notifications { return notifArray.count } return 0 } func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 45 } } The issue seems to steam from a tableView or collectionView being inside a tableViewCell because happens to all my cells like this. I've been digging through the code for days, and nothing is out of the ordinary. I never hide any of the cell's content in any scenario, so this isn't the normal reusable cell issue where the content needs to be set back to being visible. Does anyone know of the fix this or has any pointers? Also, these cells work as normal on iPhone/iPad. I've been trying to figure this out for a long time, and any help would be greatly appreciated!
2
1
1.4k
Jul ’22
Error sending archive to App Store Connect
Yesterday, I updated to Xcode 13 via the App Store. I'm trying to send an archive of my app to App Store Connect through the usual way in the "Organizer" window, and once the archive is submitted, I get the warning message: App Store Connect Operation Warning Your version of iTMSTransporter will be updated in approximately 10 days. I've never seen this before and have no idea what it means. The archive still shows in Testflight later and is useable, but I am not sure if it's safe to update the App Store version of my app with this archive build when it was uploaded with warnings. What is this warning, and how can I fix this? I also get this email about alternative icon errors after App Store Connect upload. I have alternative app icons enabled in the app and know for sure that I have 120x120 on iPhone, so I'm not sure why this is happening:
1
0
1.1k
Sep ’21
Submitting iPadOS 15 Updates Before Public Release
Hello, Right when iPadOS 15 is released in the Fall, I'll want to support the new large widget and a few of the other iPadOS 15 specific features. I'm working on them now in the Xcode 13 Beta, but to give these features out to users on launch day, can I update my app now with these features from the Xcode 13 Beta? Or would I need to wait until Xcode 13 is public? Sorry if this question seems simple. This is my first time launching on the new update's release day, so I am unsure if I can submit those new features now or wait until launch day. Please let me know! P.S. My app is multi-platform (iOS, iPadOS, and macOS). Would submitting early from an Xcode beta potentially mess up the other platforms?
0
0
577
Aug ’21
Selecting Supports Apple Watch in future release for App Store
Hello, I am filling out the App Store contact page to inform the App Store reviewers of a significant app update coming to your app to be possibly showcased in the App Store. My significant update is a new Apple Watch companion app. Under the "Supports Apple Watch" question, should I select "Yes" or "In future release"? It's unclear if the question refers to the version in the App Store or in the upcoming version I'm writing about. It'd be great if anyone can add clarity, and thank you in advance!
0
0
447
Feb ’21
Broken Developer Certificates and Profiles
I am extremely worried about my certificates/profiles and need help fixing the issue. I have my app in the Apple app store for iPhone, iPad, and Mac and have sent out multiple updates. I just recently updated my Xcode to Xcode 12 and can no longer send my Mac Catalyst version of the app to Apple's notary service and get these errors: Cannot create a Mac Catalyst Developer ID provisioning profile for "". The App Groups capability is not available for Mac Catalyst Developer ID provisioning profiles. Disable this feature and try again. Provisioning profile failed qualification Profile doesn't include the selected signing certificate. Provisioning profile failed qualification Profile doesn't support App Groups. Before this point, I had not generated a new Developer ID profile since February and have had App Groups in my app for many months and sent out multiple updates and notaries with it. After tons of research, I saw that it maybe has something to do with my Developer ID Profile so I looked into it on the Apple developer website and saw that the status said invalid. I made a new one, removed the invalid one, and tried the steps of archiving a new build and trying to send it to Apple's notary but ended up getting the same error. I have done more research and stumble upon https://developer.apple.com/support/certificates/ and saw that removing a profile may cause me to not update my current apps in the app store. Did I remove my entire access to update my apps??? I still can not figure out the notary issue and am now extremely worried that I have messed up my chances of updating my app again. Can you please help me with both issues? I have a Mac update I would like to send out to the App Store as soon as possible but want to know if it's safe before sending it to users.
5
0
2.1k
Sep ’20
How to get iCloud Notifications for Extra functions?
For the past two days I've been trying to figure out how to get the notification when the iCloud data has changed. I use a NSPersistentCloudKitContainer and am able to see my changes from one device in another. I just added local notifications to my app and I save the notification to an iCloud entity whenever a user sets it.Since I'm adding this notification in iCloud, a remote notification with iCloud changes will be sent to the users devices with iCloud enabled. What I would like to do is when the device gets this notification, read from the new data and set a local notification on the current device if a notification entity is found.But I can not seem to figure out how to intercept this change notification. I tried using didReceive and didReceiveRemoteNotification from the AppDelegate, but none of these functions fired when the device received the iCloud changes. In the Xcode console I can see that the device is notified with the data.How can I intercept the background notification that contains the new data so I can add a local notification on the device?Here is how I set up my iCloud container:class CoreDataManager { static let sharedManager = CoreDataManager() private init() {} //setting the persistentContainer lazy var persistentContainer: NSPersistentContainer = { //get local or iCloud container if user wants to use iCloud var useCloudSync = UserDefaults.standard.bool(forKey: "useCloudSync") let containerToUse: NSPersistentContainer? if useCloudSync { containerToUse = NSPersistentCloudKitContainer(name: "App") } else { containerToUse = NSPersistentContainer(name: "App") let description = containerToUse!.persistentStoreDescriptions.first description?.setOption(true as NSNumber, forKey: NSPersistentHistoryTrackingKey) } // Enable history tracking and remote notifications guard let container = containerToUse, let description = container.persistentStoreDescriptions.first else { fatalError("Hey Listen! ###\(#function): Failed to retrieve a persistent store description.") } description.setOption(true as NSNumber, forKey: NSPersistentStoreRemoteChangeNotificationPostOptionKey) container.loadPersistentStores(completionHandler: { (storeDescription, error) in if let error = error as NSError? { fatalError("Hey Listen! Unresolved error \(error), \(error.userInfo)") } }) container.viewContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy container.viewContext.transactionAuthor = appTransactionAuthorName container.viewContext.automaticallyMergesChangesFromParent = true do { try container.viewContext.setQueryGenerationFrom(.current) } catch { fatalError("Hey Listen! ###\(#function): Failed to pin viewContext to the current generation:\(error)") } // This notification never gets called NotificationCenter.default.addObserver( self, selector: #selector(type(of: self).storeRemoteChange(_:)), name: .NSPersistentStoreRemoteChange, object: container) return container }()You can think of this as a user setting a reminder in the Apple reminders app and how that notification pops up on all of my iCloud devices at the time I set it at.
0
0
808
Apr ’20