Post

Replies

Boosts

Views

Activity

Widget continually crashing - custom font issue?
I'm trying to develop a widget, I've been using a custom font. If I add the widget to the home screen maybe 70% of the time it will load, then randomly it will just start to fail and continually crash, just flashing white. If I add multiple instances of the widget to my home screen then it will just crash 100% of the time. Both widget will just sit flashing and continually crash. In the crash logs on my device I can see SwiftUI is crashing, on something relating to fonts: 0 SwiftUI 0x00000001e5c52f5c CodablePlatformFont.init+ 6733660 If I take the custom font out of the widget then it will load (eventually after resetting the device, widgets are sooo buggy) and I can have multiple instances. I'm not sure if I am doing something wrong trying to use the custom font. I created a new project and included the same custom font and loaded it the same way (just adding it to the bundle and in the info.plist) and that does not seem to crash. Just wondering if this is a known issue with custom fonts, if anyone has a workaround to stop it happening. Here is a snippet of the crash stack: Date/Time:&#9;&#9;&#9;&#9;&#9; 2020-08-21 13:26:32.7104 -0700 Launch Time:&#9;&#9;&#9;&#9; 2020-08-21 13:26:32.2918 -0700 OS Version:&#9;&#9;&#9;&#9;&#9;iPhone OS 14.0 (18A5351d) Release Type:&#9;&#9;&#9;&#9;Beta Baseband Version:&#9;&#9;3.50.05 Report Version:&#9;&#9;&#9;104 Exception Type:&#9;EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000001, 0x00000001e5c52f5c Termination Signal: Trace/BPT trap: 5 Termination Reason: Namespace SIGNAL, Code 0x5 Terminating Process: exc handler [8244] Triggered by Thread:&#9;0 Thread 0 name:&#9;Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0&#9; SwiftUI&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001e5c52f5c CodablePlatformFont.init+ 6733660 (from:) + 2744 1&#9; SwiftUI&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001e5c52c54 CodablePlatformFont.init+ 6732884 (from:) + 1968 2&#9; SwiftUI&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001e5c52f88 protocol witness for Decodable.init+ 6733704 (from:) in conformance CodablePlatformFont + 20 3&#9; libswiftCore.dylib&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001b6feff80 dispatch thunk of Decodable.init+ 2957184 (from:) + 16 4&#9; libswiftFoundation.dylib&#9;&#9;&#9; 0x00000001e3e1dd0c __PlistDecoder.unbox<A>+ 343308 (_:as:) + 372 5&#9; libswiftFoundation.dylib&#9;&#9;&#9; 0x00000001e3e28860 _PlistKeyedDecodingContainer.decode<A>+ 387168 (_:forKey:) + 660 6&#9; libswiftFoundation.dylib&#9;&#9;&#9; 0x00000001e3e2ac94 protocol witness for KeyedDecodingContainerProtocol.decode<A>+ 396436 (_:forKey:) in conformance _PlistKeyedDecodingContainer<A> + 48 7&#9; libswiftFoundation.dylib&#9;&#9;&#9; 0x00000001e3e2a9f4 protocol witness for KeyedDecodingContainerProtocol.decode<A>+ 395764 (_:forKey:) in conformance _PlistKeyedDecodingContainer<A> + 20 8&#9; libswiftCore.dylib&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001b6d722cc _KeyedDecodingContainerBox.decode<A, B>+ 344780 (_:forKey:) + 296 9&#9; libswiftCore.dylib&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001b6d659e4 KeyedDecodingContainer.decode<A>+ 293348 (_:forKey:) + 40 10&#9;SwiftUI&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001e5c4f5c8 CodableAttributes.init+ 6718920 (from:) + 832 11&#9;SwiftUI&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001e5c503c4 protocol witness for Decodable.init+ 6722500 (from:) in conformance CodableAttributes + 20 12&#9;libswiftCore.dylib&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001b6feff80 dispatch thunk of Decodable.init+ 2957184 (from:) + 16 13&#9;libswiftFoundation.dylib&#9;&#9;&#9; 0x00000001e3e1dd0c __PlistDecoder.unbox<A>+ 343308 (_:as:) + 372 14&#9;libswiftFoundation.dylib&#9;&#9;&#9; 0x00000001e3e2b32c _PlistUnkeyedDecodingContainer.decode<A>+ 398124 (_:) + 776 15&#9;libswiftFoundation.dylib&#9;&#9;&#9; 0x00000001e3e2d150 protocol witness for UnkeyedDecodingContainer.decode<A>+ 405840 (_:) in conformance _PlistUnkeyedDecodingContainer + 12 16&#9;libswiftCore.dylib&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001b6d7cbd0 Array<A>.init+ 388048 (from:) + 332 17&#9;libswiftCore.dylib&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001b6d7d178 protocol witness for Decodable.init+ 389496 (from:) in conformance <A> [A] + 28 18&#9;libswiftCore.dylib&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001b6d7cc8c protocol witness for Decodable.init+ 388236 (from:) in conformance <A> [A] + 20 19&#9;libswiftCore.dylib&#9;&#9;&#9;&#9;&#9;&#9; 0x00000001b6feff80 dispatch thunk of Decodable.init+ 2957184 (from:) + 16 20&#9;libswiftFoundation.dylib&#9;&#9;&#9; 0x00000001e3e1dd0c __PlistDecoder.unbox<A>+ 343308 (_:as:) + 372 21&#9;libswiftFoundation.dylib&#9;&#9;&#9; 0x00000001e3e28860 _PlistKeyedDecodingContainer.decode<A>+ 387168 (_:forKey:) + 660 NOTE: I am using the beta5 build
2
0
1.6k
Feb ’21
Can't test subscription upgrade/downgrade. iOS doesn't use the sandbox account
Hi, I am trying to test my subscription upgrade/downgrade path on a device. I added a test user to the sandbox section of Settings - App Store and can purchase subscriptions using that test user no problem in my app. However, if I click on "Manage" on the sandbox user to see the list of subscriptions, when I try to upgrade/downgrade the purchase UI that iOS shows tries to use my actual personal account instead of the sandbox user, so I can't complete the transaction. Looks like a bug in the sandbox testing flow in iOS, but any way around it? Right now I just simulate updates from apple on my backend to make sure my app behaves as expected, but I would like to actually get some "real" data from Apple.
4
0
2.2k
May ’21
Subscription in iOS subscription list showing productId not localized name
Hi - I have an auto-renew subscription, for some reason when the user looks at their subscriptions in the iOS subscription list the subscription shows the productId as the name e.g. com.company.app.subscriptonName not the localized string e.g. "Foo Monthly Subscription". I have other subscriptions and they all works as expected and show the localized name. The one that is showing the productId is configured the same as the others as far as I can tell, any reason why this is happening and how to fix it? Thanks.
0
0
883
May ’21
WeatherKit REST API production rate limiting
The documentation lists the number of calls per month you can make for the different pricing tiers here: https://developer.apple.com/weatherkit/get-started/ but are there going to be any per second/minute/hour rate limits on calls to the API like with other weather service APIs. For example maybe you get 1,000,000 calls per month but there is some limit like 5 calls per second or 10,000 calls per hour imposed by the APIs? Also what happens if you go over your allowed call limit for the month, will the API just return an error like HTTP 402 or you will get a warning for a period of time? Would you be able to buy extra calls for the month without having to upgrade to a new tier, assuming maybe you are experiencing a temporary increase in traffic.
0
2
1.3k
Jun ’22
WeatherKit available to iOS users in China?
Does WeatherKit work for users in China? Some of our APIs to fetch weather data from other sources have been blocked in China, we are hoping WeatherKit will work as a replacement for them (we are using the Swift APIs to integrate with WeatherKit). Hopefully calling WeatherKit using the Swift APIs inside China from an iOS device will return data successfully and not fail. Thanks.
2
0
983
Oct ’22
WeatherKit REST API attribution logo when not using the Swift wrappers
If you use the iOS16 Swift WeatherKit API you can get the weather data attribution logo doing something like: // Skipping full syntax for example let attribution = WeatherService.shared.attribution // A URL to an image you can show along with the weather data attribution.combinedMarkLightURL What about if you are not using the iOS16 WeatherKit wrappers e.g. you are using the REST API on your own server to return data. The API docs show a providerLogo/providerName parameter in the metadata returned from the service, but they don't seem to be populated right now. Is it ok just to use a unicode Apple logo to make a string instead like:  Weather Also in the API there is a metadata object returned in each dataset e.g. current, daily, hourly which each has an attributionURL field, will all those values always be the same or we might have to display multiple URLs for data sources, the Swift example seems to just have one attribution object.
2
1
2.1k
Nov ’22
Convert stereo to mono dynamically using AVAudioEngine
I am using AVAudioEngine, I have a stereo wav file that I want to use with an AVAudioEnvironmentNode but it requires the input source is mono otherwise it will not spatialize the sounds. Is there some way I can convert the stereo input to mono dynamically, maybe using an avaudiomixernode or something else? It looks like maybe I can use AVAudioConverter to convert the original buffer, but I want to be able to just add a node in the AVAudioEngine graph that can convert it to mono if that is possible, rather than having to convert the input buffer explicitly. So something like: WAV -> AVAudioPlayerNode -> Stereo to mono node -> AVAudioEnvironmentNode
0
0
1.6k
Dec ’22
When to use: AVAudioSession.RouteSharingPolicy.longFormAudio
The docs for this property say: "Apps that play long-form audio, such as music or audio books, can use this policy to play to the same output as the built-in Music and Podcast apps. Long-form audio apps should also use the Media Player framework to add support for remote control events and to provide Now Playing information." That doesn't really say what the benefit is for adding this option or what are the drawbacks? Does somebody have some more information on when you should use this policy and potential issues it might cause? We are working on a music app that will play music in the background so it sounds like we should add this policy, but I can't find any information about why you should. Thanks
0
0
808
Mar ’23
Crash inside SceneKit [SCNPhysicsField _removeOwner]
I'm seeing a decent number of crash reports from our app where SceneKit is crashing internally relating to SCNPhysicsField. The stack looks like: objc_msgSend -[SCNPhysicsField _removeOwner] -[SCNNode dealloc] AutoreleasePoolPage::releaseUntil(objc_object**) -[UIApplication _run] UIApplicationMain main start It must be that I am removing a node that has a physics field on it and it randomly crashes. Probably threading related? Anyone know if there is a workaround, maybe setting physicsField to nil first before trying to remove the node? Thanks
2
0
1.5k
Mar ’23
Blank scene with xcode connected and "Metal -> API Validation" turned off.
I'm not sure which combination of iOS/XCode/Mac OS is causing this issue, but all of a sudden when I try to run our SceneKit app and the "Scheme -> Diagnostics -> Metal -> API Validation" setting is turned off the scene won't render and the console is just full of the following errors: Execution of the command buffer was aborted due to an error during execution. Invalid Resource (00000009:kIOGPUCommandBufferCallbackErrorInvalidResource) [SceneKit] Error: Main command buffer execution failed with status 5, error: Error Domain=MTLCommandBufferErrorDomain Code=9 "Invalid Resource (00000009:kIOGPUCommandBufferCallbackErrorInvalidResource)"  ) If you run the app outside of xcode it's fine, also enabling the "API Validation" option stops the issue. One of my schemes has this option disabled since the project began and never had an issue before. Just throwing this out there incase someone else has spent hours of their life trying to figure out why this is not working for them. Also you can just create a new SceneKit project and turn that diagnostic option off and the app won't render anything.
2
0
1.9k
Aug ’23