Hello,
In the calendar app people can subscribe to calendars from the web and have the events in the calendar, but can my Xcode app generate a local url with an ical file that can be subscribed to? Just for the user on the device with the app, not on the internet?
For example my app when run creates an ical file of events that repeat each year, like international days of the year and puts it somewhere like in the group folder or somewhere behind the scenes and then the user can click that link from within the app or copy and past it into the calendar app by adding a new calendar and putting in the url?
I don't want to put the url online because the information is private and just for the user of the device.
Post
Replies
Boosts
Views
Activity
Hello,
After updating Xcode today to the Version 13.0 (13A233) when I run my app on the latest iOS simulator Version 13.0 (970), not matter is its an iPhone 12 or 13 etc. the widgets won't load. If I try to search for widgets to add to the Home Screen there is nothing to pick from. And when I try to run the widget directly from Xcode I get an unusual error that I've never had before.
Please specify the widget kind in the scheme's Environment Variables using the key '_XCWidgetKind'
I used to be able to run the widgets from the target and play with them all at once.
Dear Apple,
I have made some iMessage sticker packs and I’m am constantly answering questions on one star reviews claiming they can’t find the app icon. It’s honestly exhausting. Please get a team to rework iMessage sticker packs. Make it easier for customers to understand there is no app icon and where to find the sticker pack when creating a message.
You have to rework the whole situation geared towards the lowest common denominator which is very, very low. Honestly I think the general population averages out to a kindergarten level of education.
Hooe you get me.
I get this error when submitting my app to the App Store recently.
.
ITMS-90892: Missing recommended icon - The bundle does not contain an alternate app icon for iPad of exactly '167x167' pixels, in .png format for iOS versions supporting iPad Pro. To support older operating systems, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file. See ...
It's related to the alternate icons in the app structure and the names I think but has nothing to do with the assets catalog.
In my app a user can choose and icon for the Home Screen.
I have 4 icons to choose and 4 sizes for each icon named e.g. -
AA_appIcon@2x
AA_appIcon@2x~iPad
AA_appIcon@3x
AA_appIcon83.5@2x~iPad
and it used to work fine, but now I get this error for the one name AA_appIcon83.5@2x~iPad.
It is in the correct size 167x167, so not sure what the problem is. It just happen in the last few days, didn't happen on my previous submission a month ago.
The naming format must have recently changed or something. Is anyone able to spot the error?
This is the info.plist
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>AA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>AA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>Cake</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Cake_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>NA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>NA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>OA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>OA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Cake_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
</plist>
```<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>AA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>AA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>Cake</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Cake_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>NA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>NA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>OA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>OA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Cake_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
</plist>
Hi,
If I make a small change to a widgets code in Xocde, just adding a sort descriptor to a fetch request, a small line of code, does it make the whole widget go black and the user has to delete the widget and add it again?
I made a small change to a widgets code, then ran it through test flight to my iPhone and the widget is just black now.
Update: I think adding the sort descriptior to the fetch request is causing a memory issue on my iPhone 7. That is what Xcode is saying I think.
I am creating a widget that has configurable content and I'm getting this error on the Mac OS when running the WidgetExtension in the Mac WidgetKit Simulator
The operation could not be completed. (CHSErrorDomain error 1101.)
I must be missing something somewhere, all my other widgets are working fine, but with the dynamic widget where the user can edit the widget, when coding in the swift file I'm always getting warnings that appear then disappear about
Cannot find type 'DynamicPersonSelectionIntent' in scope When I build it goes away.
I have added DynamicPersonSelection.intentdefinition.
I have an IntentHandler.swift with an IntentHandler: DynamicPersonSelectionIntentHandling.
In the Target Intent handler I have added the supported Intent,
In the framework section is the Intents.framework.
I have check all the Tagret memberships I think.
The widget works sometimes? on the iPhone but not on the Mac at all. On the iPhone its usually blank until I add it to the Home Screen. Can work out where the issue is, Ive tried various iterations of Placeholder, Snapshot and Timeline. The issues seams to be because of the IntentTimelineProvider, with a TimelineProvider and static content everything woks fine .
I must be missing something. Please help if you can.
Hello
im about to update my app to use iCloud core data and I went into my iPhone settings app and clicked on the link for the app in the iCloud settings. How do I set the version number and the developer data in there using Xcode?
Some apps from apple have this information set. Most other apps do not have this data in there, just two blank lines under the app title.
Hello,
Ive been getting an error trying to store this type of array in my core data [CNLabeledValueCNPhoneNumber] [general] 'NSKeyedUnarchiveFromData' should not be used to for un-archiving and will be removed in a future release
There are lost of posts on this error but I can't get mine to work with an array of phone numbers stored in core data. Please help if you can.
I copied this Apple Project nearly exactly https://developer.apple.com/documentation/coredata/handling_different_data_types_in_core_data
except where they have tintColor as the transformable attribute in their .xcdatamodel file, I have put phoneNumbers and the type transformable, the same as the Apple project and the transformer ColorToDataTransformer I made a copy of theirs but changed the occurrences of UIColor to [CNLabeledValueCNPhoneNumber]
It didn't work.
Here is the PhoneNumbersToDataTransformer I made }
I tried changing allowedTopLevelClasses to }
and a few other iterations of the same code. Ive been changing things for age trying to get it to work.
The error is always something like this:
[/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Contacts.framework]\"\n)}'.\"
UserInfo={NSDebugDescription=value for key '_value' was of unexpected
class 'CNPhoneNumber (0x1ca088050)
[/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Contacts.framework]'.
Allowed classes are '{(\n \"NSArray (0x1c9d1ab28)
[/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework]\",\n
\"CNLabeledValue (0x1ca082010)
[/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Contacts.framework]\"\n)}'.}";
} FETCH error
[1]: https://developer.apple.com/documentation/coredata/handling_different_data_types_in_core_data
Hi,
I have.a project that uses CoreData and I want to add some of the data to iCloud to sync with a Watch app and I ticked the option for the Default configuration to use iCloud and It worked but now I don't want to include images in the cloud because it became too large so I Seperated the images into a different data thing and as per instructions here https://developer.apple.com/documentation/coredata/mirroring_a_core_data_store_with_cloudkit/setting_up_core_data_with_cloudkit I added a configuration "Local" and "Cloud" and change the code as below -
original
lazy var persistentContainer: NSPersistentContainer = {
		let container = NSPersistentContainer(name: "DataModel")
		container.loadPersistentStores(completionHandler: {
				storeDescription, error in
				if let error = error {
						print("Could load data store: \(error)")
				 }
		})
		print("Loaded data store: DataModel")
		return container
}()
I created two configurations as per the video and ticked use with iCloud on the one I would like to sync with iCloud.
new code
lazy var persistentContainer: NSPersistentContainer = {
		var container = NSPersistentContainer(name: "DataModel")
		if #available(iOS 13.0, *) {
				container = NSPersistentCloudKitContainer(name: "DataModel")
				let local = NSPersistentStoreDescription(url: URL(fileURLWithPath: "/files/local.sqlite"))
				local.configuration = "Local"
				let cloud = NSPersistentStoreDescription(url: URL(fileURLWithPath: "/files/cloud.sqlite"))
				cloud.configuration = "Cloud"
				cloud.cloudKitContainerOptions =
						NSPersistentCloudKitContainerOptions(
								containerIdentifier: "iCloud.com.AppName")
				container.persistentStoreDescriptions = [ local, cloud ]
				container.loadPersistentStores { storeDescription, error in
						guard error == nil else {
								fatalError("Could not load persistent stores. \(error!)")
						}
				}
				return container
		} else {
				container.loadPersistentStores(completionHandler: {
						storeDescription, error in
						if let error = error {
								print("Could load data store: \(error)")
						}
				})
				print("Loaded data store: DataModel")
				return container
		}
}()
Most of this code I got from the video https://developer.apple.com/videos/play/wwdc2019/202/
but I keep getting an error about loading or saving the persistent store or something
fatal error: Could not load persistent stores. Error Domain=NSCocoaErrorDomain Code=512 "The file couldn’t be saved." UserInfo={reason=Failed to create file; code = 2}: Is anyone able to point out what I am not doing right?
Thanks.
Hi,
I have an app when the user taps the row of a cell it takes them to the iOS Contact card for that person where they can call the person or edit the contact. But when I tap edit then delete the contact Contact card just sits there. I would expect it to dismiss.
This is the code I used in the didSeletCell which takes them to the card.
do {
selectedContact = try self.contactsStore.unifiedContact(withIdentifier: user.contactID, keysToFetch: [CNContactViewController.descriptorForRequiredKeys()])
let contactViewController = CNContactViewController(for: selectedContact)
contactViewController.delegate = self
contactViewController.hidesBottomBarWhenPushed = true
contactViewController.allowsEditing = true
contactViewController.allowsActions = true
selectedContactID = selectedContact.identifier
navigationController?.navigationBar.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0)
navigationController?.pushViewController(contactViewController, animated: true)
} catch let error {
print(error)
}
The app just sits there, in the simulator until I click the cancel button at the top. The contact is gone however.
Hi
I imported my project into Xcode 12 Beta and it seams okay except for a few things. am getting an error from a function to reload the complications.
in my ExtensionDelegate.swift file
func reloadActiveComplications() {
print("Reloading Active Complications")
let server = CLKComplicationServer.sharedInstance() //Cannot find 'CLKComplicationServer' in scope
for complication in server.activeComplications ?? [] { server.reloadTimeline(for: complication)}
}
Im looking at the documentation here Creating and Updating Complications - https://developer.apple.com/documentation/clockkit/creating_and_updating_complications and trying to find the answer.
The code Apple uses on that page is
let server = CLKComplicationServer.sharedInstance()
		for complication in server.activeComplications ?? [] {
				server.reloadTimeline(for: complication)
		}
Looks the same to me. Can anyone tell me why this might be?
Maybe something I have to do in the info.plist I added the new complication type ClockKit Complication Family - Graphic Extra Large
Hi
I imported my project into Xcode 12 Beta and it seams okay except for a few things. am getting an error from a function to reload the complications.
in my ExtensionDelegate.swift file
func reloadActiveComplications() {
print("Reloading Active Complications")
let server = CLKComplicationServer.sharedInstance() //Cannot find 'CLKComplicationServer' in scope
for complication in server.activeComplications ?? [] { server.reloadTimeline(for: complication)}
}
Im looking at the documentation here Creating and Updating Complications - https://developer.apple.com/documentation/clockkit/creating_and_updating_complications and trying to find the answer.
The code Apple uses on that page is
let server = CLKComplicationServer.sharedInstance()
		for complication in server.activeComplications ?? [] {
				server.reloadTimeline(for: complication)
		}
Looks the same to me. Can anyone tell me why this might be?
Hello,Im trying to add WKInterfaceActivityRing to my watch project and something is not working, the ring just stays dulled out, not getting any data.So to test it I created a blank project and added a WKInterfaceActivityRing to the interface. I connected it up to the outlet and in the interface Controller i added this code with simple values.import WatchKit
import HealthKit@IBOutletvar activityRing: WKInterfaceActivityRing!
let activitySummary = HKActivitySummary()
activitySummary.activeEnergyBurned = HKQuantity(unit: HKUnit.kilocalorie(), doubleValue: 1000)
activitySummary.activeEnergyBurnedGoal = HKQuantity(unit: HKUnit.kilocalorie(), doubleValue: 1500)
activitySummary.appleExerciseTime = HKQuantity(unit: HKUnit.minute(), doubleValue: 20)
activitySummary.appleExerciseTimeGoal = HKQuantity(unit: HKUnit.minute(), doubleValue: 30)
activitySummary.appleStandHours = HKQuantity(unit: HKUnit.count(), doubleValue: 3)
activitySummary.appleStandHoursGoal = HKQuantity(unit: HKUnit.count(), doubleValue: 12)
activityRing.setActivitySummary(activitySummary, animated: true)Everthing I have tried the ring just stays dulled out, not getting any data.Does anyone know where i can find help with this?Xocde Version 11.3.1 (11C504)Thank you.