Hi Team,
As our application has been successfully distributed to more than 10 clients, we've encountered varying preferences regarding module updates in the latest release. Some clients have expressed the desire to abstain from certain module updates, while others have specifically requested them.
How we can handle above use case in swift code? What is your suggestion ?
Thanks,
Pradip Walghude
Post
Replies
Boosts
Views
Activity
I declare a structure type in swift, name as CmdStruct
struct CmdStruct {
var cmd:[UInt8]
init() {
cmd = [UInt8](repeating: 0, count:16)
}
}
In the case that the connection has been obtained.
In sendCmd function, declare a variable which name as input which type of CmdStruct.
After set data to input, call a DriverKit function IOConnectCallStructMethod.
Here xcode shows a warning tip for the parameter 'input' for call IOConnectCallStructMethod:
<Forming 'UnsafeRawPointer' to a variable of type 'CmdStruct'; this is likely incorrect because 'CmdStruct' may contain an object reference.>
func sendCmd() {
var ret:kern_return_t = kIOReturnSuccess
var input = cmdStruct()
var output:[UInt8] = [UInt8](repeating:0, count: 16)
var inputSize = MemoryLayout<CmdStruct>.size // print value 8
var outputSize = output.count // print value 16
input.cmd[0] = 0x12
input.cmd[1] = 0x34
ret = IOConnectCallStructMethod(Connection, selector, &input, inputSize, &output, &outputSize)
}
In C file, driverkit function ExternalMethod will receive the parameter from swift side.
And check the value of input->cmd[0] and input->cmd[1] in console. However, the values are not the expected 0x12 and 0x34.
struct CmdStruct
{
uint8_t cmd[16];
};
kern_return_t myTest::ExternalMethod(uint64_t selector, IOUserClientMethodArguments* arguments, const IOuserClientMethodDispatch* dispatch, OSObject* target, void* reference)
{
int i = 0;
CmdStruct* input = nullptr;
if (arguments == nullptr) {
ret = KIOReturnBadArgument;
}
if (arguments->structureInput != nullptr) {
input = (CmdStruct*)arguments->structureInput->getBytestNoCopy();
}
/*
Here to print input->cmd[0] and input->cmd[1] data to console.
*/
}
I expect that the correct value of input will be show on the driverkit side. I'm not sure which part is wrong. Here, I list some factors that may lead to incorrect value.
How to fix the warning tip for parameter 'input' when call IOConnectCallStructMethod in swift.
I get the inputSize value 8 by using MemoryLayout.size. But this structure contains a 16 bytes array. How to get the correct struct size in swift
In C file side, using (CmdStruct*)arguments->structureInput->getBytestNoCopy() to transform data to C struct is correct?
When calling DispatchQueue.main.async or DispatchQueue.main.sync with a call to self without capturing self, I get a compiler error:
Call to method 'asd' in closure requires explicit use of 'self' to make capture semantics explicit
Since I usually use DispatchQueue.main.async, I'm now used to solving this error by capturing self like this:
DispatchQueue.main.async { [self] in
asd()
}
But this unfortunately doesn't seem to work with DispatchQueue.main.sync:
DispatchQueue.main.async { [self] in
asd()
}
This gives the compiler warning:
Call to method 'asd' in closure requires explicit use of 'self' to make capture semantics explicit; this is an error in Swift 6
This warning only appears for DispatchQueue.main.sync and not for DispatchQueue.main.async. Why? How can I avoid having to prefix every method call with self. in this case?
I am encountering a dyld error (dyld[8942]: Library not loaded) when attempting to embed PaymentSampleFramework within POSSampleFramework, and only linking POSSampleFramework in the main application. The error is as follows:
Referenced from: <99DE58BE-5611-3397-BED2-6D7DDCE5A878> /private/var/containers/Bundle/Application/B4CB8F71-F8A7-4A21-8C1B-170612C3C628/ParentApp.app/ParentApp
Reason: tried: '/usr/lib/swift/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file), '/private/var/containers/Bundle/Application/B4CB8F71-F8A7-4A21-8C1B-170612C3C628/ParentApp.app/Frameworks/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file), '/usr/lib/swift/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file), '/private/var/containers/Bundle/Application/B4CB8F71-F8A7-4A21-8C1B-170612C3C628/ParentApp.app/Frameworks/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file)
The error occurs only when PaymentSampleFramework is not directly added to the application. I want to have only POSSampleFrameWork on the app side, with PaymentSampleFramework included within it.
I have shared the GitHub link to my workspace for reference: https://github.com/sarathdev/MyWorkSpace (Added PaymentSampleFramework inside application to avoid crash)
I'm seeking advice on whether it's possible to embed only POSSampleFrameWork without adding all internal dependencies. Any suggestions or solutions to resolve this issue would be greatly appreciated.
why Apple discourages creating an umbrella framework, is the umbrella setup is the only solution!
I am fetching an image from the photo library and fetch the GPS Location data, but it's not working.
This needs to work on iOS 17 as well, so I used PHPicker. kCGImagePropertyGPSDictionary is always returning nil.
The code I tried:
import CoreLocation
import MobileCoreServices
import PhotosUI
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var selectedImageView:UIImageView!
@IBAction func selectTheImage() {
self.pickImageFromLibrary_PH()
}
func pickImageFromLibrary_PH() {
var configuration = PHPickerConfiguration(photoLibrary: PHPhotoLibrary.shared())
configuration.filter = .images
let picker = PHPickerViewController(configuration: configuration)
picker.delegate = self
present(picker, animated: true, completion: nil)
}
func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) {
if let itemProvider = results.first?.itemProvider, itemProvider.canLoadObject(ofClass: UIImage.self) {
itemProvider.loadObject(ofClass: UIImage.self) { (image, error) in
if let image = image as? UIImage {
self.fetchLocation(for: image)
}
}
}
picker.dismiss(animated: true, completion: nil)
}
func fetchLocation(for image: UIImage) {
let locationManager = CLLocationManager()
guard let imageData = image.jpegData(compressionQuality: 1.0) else {
print("Unable to fetch image data.")
return
}
guard let source = CGImageSourceCreateWithData(imageData as CFData, nil) else {
print("Unable to create image source.")
return
}
guard let properties = CGImageSourceCopyPropertiesAtIndex(source, 0, nil) as? [String: Any] else {
print("Unable to fetch image properties.")
return
}
print(properties)
if let gpsInfo = properties[kCGImagePropertyGPSDictionary as String] as? [String: Any],
let latitude = gpsInfo[kCGImagePropertyGPSLatitude as String] as? CLLocationDegrees,
let longitude = gpsInfo[kCGImagePropertyGPSLongitude as String] as? CLLocationDegrees {
let location = CLLocation(latitude: latitude, longitude: longitude)
print("Image was taken at \(location.coordinate.latitude), \(location.coordinate.longitude)")
} else {
print("PHPicker- Location information not found in the image.")
}
}
}
Properties available in that image:
Exif/Meta-Data is available, I expect GPS location data
ColorSpace = 65535;
PixelXDimension = 4032;
PixelYDimension = 3024;
}, "DPIWidth": 72, "Depth": 8, "PixelHeight": 3024, "ColorModel": RGB, "DPIHeight": 72, "{TIFF}": {
Orientation = 1;
ResolutionUnit = 2;
XResolution = 72;
YResolution = 72;
}, "PixelWidth": 4032, "Orientation": 1, "{JFIF}": {
DensityUnit = 0;
JFIFVersion = (
1,
0,
1
);
XDensity = 72;
YDensity = 72;
}]
Note: I'm trying in Xcode 15 and iOS 17.
In photos app location data is available, but in code, it's returning nil.
Since Xcode was updated to 15.0.1, UIicker and UIDatePiPcker both are crashing in the app everywhere even with the default picker. They are also crashing in the third party like Stripe and all, error is related to selectrow() method of picker view where it can not find the tableviewcell.
The alertController.view.tintColor = .yellow statement does not seem to take effect in TVOS 17 when creating alerts. Interestingly, when using the same alert code on TVOS 16, the specified color is applied successfully. I'm seeking assistance in resolving this discrepancy and would appreciate any guidance or solutions you can provide. I could understand that the Alert design aswell is modified which is not mentioned in the release notes of TVOS 17. Please help me out here.
TVOS 17:
TVOS 16:
I'm currently developing a native plugin for a Capcitor app. I have very little experience with native iOS development, Swift and Obj-C.
I use a framework (FunSDK) which is written in C++.
I call this in an Objective-C++ wrapper.
As described here: https://medium.com/@cecilia.humlelu/set-up-c-library-dependencies-in-swift-projects-5dc2ccd2ddaf
The wrapper is then available in Swift via the bridging header.
This works so far, I can call the functions from the framework and they are executed correctly.
However, the functions of the framework are executed asynchronously. When a result is obtained, the “OnFunSDKResult” method is always executed.
During this step I get an EXC_BAD_ACCESS error while debugging. Then I ticked “Zombie objects” under the diagnostics settings. This causes execution to stop with an EXC_BREAKPOINT.
As I understand it, after executing the iniXMSDK method, the FunSDKWrapper class is cleared from memory before executing the "OnFunSDKResult" method?
I have also already integrated a completionHandler, which is only called in the "OnFunSDKResult" method so that data is transferred to the Swift class. However, that doesn't help either.
I have no idea how to proceed.
I hope somebody can help me.
If you need any more information, I would be happy to provide it.
The FunSDKWrapper.mm
//
// FunSDKWrapper.m
// App
//
// Created by Sysprobs on 12/8/23.
//
#import "FunSDKWrapper.h"
#import "FunSDK/FunSDK.h"
#import <XMNetInterface/Reachability.h>
@implementation FunSDKWrapper
-(NSString *)iniXMSDK:(int)test completion:(void (^)(int result))completionHandler{
self.initCompletionHandler = completionHandler;
self.msgHandle = FUN_RegWnd((__bridge void *)self);
FUN_Init();
Fun_LogInit(self.msgHandle, "", 0, "", LOG_UI_MSG);
FUN_XMCloundPlatformInit("***", "***", "***", 1);
FUN_InitNetSDK();
FUN_SetFunStrAttr(EFUN_ATTR_SAVE_LOGIN_USER_INFO,SZSTR([self GetDocumentPathWith:@"UserInfo.db"]));
FUN_SetFunStrAttr(EFUN_ATTR_USER_PWD_DB, SZSTR([self GetDocumentPathWith:@"password.txt"]));
FUN_SetFunStrAttr(EFUN_ATTR_UPDATE_FILE_PATH,SZSTR([self GetDocumentPathWith:@""]));
FUN_SetFunStrAttr(EFUN_ATTR_TEMP_FILES_PATH,SZSTR([self GetDocumentPathWith:@""]));
FUN_SetFunIntAttr(EFUN_ATTR_AUTO_DL_UPGRADE, 0);
FUN_SetFunStrAttr(EFUN_ATTR_CONFIG_PATH,SZSTR([self GetDocumentPathWith:@"APPConfigs"]));
FUN_SetFunIntAttr(EFUN_ATTR_SUP_RPS_VIDEO_DEFAULT, 1);
FUN_SetFunIntAttr(EFUN_ATTR_SET_NET_TYPE, [self getNetworkType]);
FUN_SysInit("arsp.xmeye.net;arsp1.xmeye.net;arsp2.xmeye.net", 15010);
FUN_InitNetSDK();
FUN_SysGetDevList(self.msgHandle, SZSTR(@"xxxx") , SZSTR(@"xxxx"),0);
return @"test";
}
- (void)searchLanDevices {
FUN_DevSearchDevice(self.msgHandle, 4000, 0);
}
// NSDocument/fileName
- (NSString *)GetDocumentPathWith:(NSString *) fileName {
NSString* path = [self documentsPath];
if (fileName != nil) {
path = [path stringByAppendingString:@"/"];
path = [path stringByAppendingString:fileName];
}
return path;
}
//NSDocument
- (NSString *)documentsPath {
NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [pathArray lastObject];
return path;
}
-(int)getNetworkType {
Reachability*reach=[Reachability reachabilityWithHostName:@"www.apple.com"];
//判断当前的网络状态
switch([reach currentReachabilityStatus]){
case ReachableViaWiFi:
return 1;
case ReachableViaWWAN:
return 2;
default:
return 0;
break;
}
}
- (void)OnFunSDKResult:(NSNumber *) pParam {
NSInteger nAddr = [pParam integerValue];
MsgContent *msg = (MsgContent *)nAddr;
switch (msg->id) {
case EMSG_SYS_GET_DEV_INFO_BY_USER:{
self.initCompletionHandler(1);
if (msg->param1 < 0){
//fehler
NSLog(@"Fehler beim XMCloud login");
}else{
char devJson[750*500];
FUN_GetFunStrAttr(EFUN_ATTR_GET_USER_ACCOUNT_DATA_INFO, devJson, 750*500);
NSLog(@"Geraeteliste: = %s",devJson);
}
}
break;
}
}
@end
The Swift Class
import Foundation
import Capacitor
/**
* Please read the Capacitor iOS Plugin Development Guide
* here: https://capacitorjs.com/docs/plugins/ios
*/
@objc(xmsdkPlugin)
public class xmsdkPlugin: CAPPlugin {
private let implementation = xmsdk()
@objc func echo(_ call: CAPPluginCall) {
let value = call.getString("value") ?? ""
call.resolve([
"value": implementation.echo(value)
])
}
@objc func initXMSDK(_ call: CAPPluginCall) {
//let devId = call.getString("devId") ?? ""
let wrapper = FunSDKWrapper();
let resp = wrapper.iniXMSDK(1, completion: {(result) -> Void in
NSLog("Completion von iniXMSDK")
});
call.resolve([
"status": resp
])
}
}
Errorlog with EXC_BREAKPOINT:
I have the following in my .zshrc:
export MY_LIBRARY_DIR=~/bin
In Xcode I can set header/lib search path using something like $(MY_LIBRARY_DIR)/abc.
This works fine in my daily used user account. But today I found that this technique does not work in a test user account (for testing purpose only).
I even reboot my machine but still can't get it working.
Am I missing something very obvious???
BTW, I am using Xcode 14.2 and 14.3.1.
I wrote an application using SwiftData to store data. But now I have rewritten it to CoraData because I would like to expand the list of available devices for downloading. All model classes have retained their names and all parameters too, but I don’t see data from the previous version. Is it possible to get into the same container? Maybe someone can tell me the name of the default container that is created by SwiftData.
Does anyone have a simple example for a scriptable App in Swift in Xcode for macOS? I mean one that exposes objects and functions to applescript?
I've checked all examples that I could find. But for me they get me confused about whether they are accessing the actual and already existing instance of a class or whether they are creating an instance with AppleScript, or just using the class definition to call some function. Also the way they are defined in the .sdef file does not help. It would be great if someone had a really simple example, stripped down to bare minimum that 1) defines a class with a single function, 2) creates an instance of the class inside appDelegate and then 3) the function of the specific instance is called using appleScript. 4) It would be great if the function could do something in the GUI, such as change a text of a Label.
Hello. How to customise weeks day color and other elements of calendar?
Do I really have to reset position and size of SKSpriteNodes with every rotation between landscape and portrait layout??
I've done that and it works .. but this seems to be overkill that the writers of Xcode internally compensated for .. vs. having the individual programmer having to do it.
I have a getGameParms() which resets positions based on:
#if os(iOS) && !targetEnvironment(macCatalyst)
func getGameParms() {
let roomRect = UIScreen.main.bounds
roomWidth = roomRect.width * roomScale
roomHeight = roomRect.height * roomScale
if (thisSceneName == "GameScene")
{
if UIDevice.current.orientation.isLandscape {
// changes here
}
else {
// changes
}
} // if (thisSceneName == "GameScene")
} // getGameParms
#elseif os(tvOS)
func getGameParms() {
let roomRect = UIScreen.main.bounds
roomWidth = roomRect.width * roomScale
roomHeight = roomRect.height * roomScale
if (thisSceneName == "GameScene")
{
// other changes here
}
} // getGameParms
#endif
Again, the burdensome changes are done .. but are they really necessary?
As an alternative, I have called getGameParms() just once within my viewDidLoad() and the results are not correct.
For example, I place one SKSpriteNode at the very bottom of the UIScreen and it does not stay there with UIDevice rotation. I also size it horizontally such that it expands to the full width of the UIScreen. Rotation destroys that. if getGameParms() is called only once as just described.
Some explanation as to why would be appreciated.
Where can I find documentation, example projects, or video tutorials on how to work with Core Video and Metal?
So I am creating an ObjC framework which has mix of ObjC and Swift code: UtilitiesFramework.
Here is my StringUtilities class in Swift:
@objc
public class StringUtilities: NSObject { }
I am accessing StringUtilities class in Utilities which is an ObjC class.
Here is Utilities.h which is returning StringUtilities and has a forward class declaration for same:
@class StringUtilities; // Forward Declaration
@interface Utilities: NSObject
- (StringUtilities *)stringUtilities;
@end
Here is Utilities.m which imports generated swift header file:
#import <UtilitiesFramework/UtilitiesFramework-Swift.h> // This should provide concrete implementation of StringUtilities
@implementation Utilities
- (StringUtilities *)stringUtilities {
return [StringUtilities new];
}
@end
I am exposing Utilites.h file to Swift through module.modulemap:
module PrivateObjC {
header "Utilities.h"
}
I have set the import path accurately in build settings as:
$(SRCROOT)/$(PRODUCT_NAME)
Now when I try to access Utilities class in some other swift class it just compiles fine:
import PrivateObjC
class SomeOperations {
func doSomething() {
_ = Utilities() // This compiles fine
}
However when I try to access the StringUtilities through its method, it gives compilation error:
import PrivateObjC
class SomeOperations {
func doSomething() {
_ = Utilities().stringUtilities() // This gives compilation error
}
Here are the errors:
value of type Utilities has no member stringUtilities: _ = Utilities().stringUtilities()
note: method stringUtilities not imported
- (StringUtilities *)stringUtilities
^
note: return type not imported
- (StringUtilities *)stringUtilities
^
note: interface StringUtilities is incomplete
- (StringUtilities *)stringUtilities
^
note: interface StringUtilites forward declared here
@class StringUtilities
I thought this scenario is fixed as part of proposal:
# 0384-importing-forward-declared-objc-interfaces-and-protocols.md
However it is not working for me. May be it is due to it being approved as part of Swift 5.9, whereas in my machine 5.8.1 is used or am I missing anything else over here?
Update: I installed Xcode 15 and double checked the swift version which is 5.9, however I am still getting the error. Any idea why it is not working for a framework target?
I am developing a game in which my Locomotive is following a UIBezierPath that mimics an oval shaped Track.
The math of the following is not "adding up" .. if it is, I am obviously not understanding the math of the layout.
Bottom line = the following code does not display the UIBezierPath.
Here's the code that creates this UIBezierPath .. please note the math in the comments:
func createTrainPath() {
trackRect = CGRect(x: 0.0,
y: 0.0 - roomHeight/2 + tracksHeight,
width: tracksWidth,
height: tracksHeight)
// trackRect = (0.0, -207.0, 940.0, 476.0) // portrait
// trackRect = (0.0, -274.0, 470.0, 238.0) // landscape
print("trackRect = \(trackRect!)")
trackPath = UIBezierPath(ovalIn: trackRect)
let theTrackShapeNode = SKShapeNode(path: trackPath.cgPath, centered: true)
theTrackShapeNode.zPosition = 100 // for testing
theTrackShapeNode.position = myTracks.position
theTrackShapeNode.lineWidth = 4.0
theTrackShapeNode.strokeColor = SKColor.blue
if let ourScene = GameScene(fileNamed: "GameScene") {
print("here") // this shows
ourScene.addChild(theTrackShapeNode) // does *not* show?
}
} // createTrainPath
In Portrait mode, the UIScreen measures 1024 x 1366 and the Track measures 940 x 476 with its top edge down 207 from the center of the UIScreen.
In Landscape mode, the UIScreen measures 1366 x 1024 and the Track measures 470 x 238 with its top edge down 274 from the center of the UIScreen.
In both modes, the bottom edge of the Track is supposed to be flush with the bottom edge of the UIScreen .. and it is.
If the math is correct, then I am obviously not understanding the math of the layout .. because the UIBezierPath is not showing.
The math appears correct .. but the UIBezierPath just is not showing.
So where is my brain off-center?
Hi, Everyone
I set up a class for sharing photos to facebook. The codes of the class are as following. But when I call the function "shareToFacebook", there is no dialog to show. What's the issue in these codes? I am using iOS 17.0, Xcode The guide from Facebook hasn't updated.
import SwiftUI
import FBSDKShareKit
import FacebookShare
@Observable
class ShareFacebook {
var content = SharePhotoContent()
var images : [UIImage] = []
var photos : [SharePhoto] = []
func shareToFacebook() {
for image in images {
let photo = SharePhoto(
image: image,
isUserGenerated: true
)
photos.append(photo)
}
content.photos = photos
let dialog = ShareDialog(
viewController: UIApplication.shared.currentUIWindow()?.rootViewController,
content: content,
delegate: nil )
dialog.show()
}
}
//button for sharing
//Sharing to Facebook
Button {
for image in photos {
let image = UIImage(data: image.imageData)
sharedPhotos.append(image ?? userViewModel.render(image: Image("photoForNil"))! )
}
shareToFacebook.images = sharedPhotos
shareToFacebook.shareToFacebook()
}label: {
Image("share")
.resizable()
.frame(width:18, height: 18)
.padding(.trailing,30)
}
Hi,
What is the best way to make this animation with Swift and UIKit?
[Animation:](https://dribbble.com/shots/4247369-Loading-notch
/)
Thank you!
We have MacOS application which uses Network Extensions. When building it with XCode 15 and 15.0.1 the extension crashes on Intel based Macs with the following error:
Symbol not found: _swift_getTypeByMangledNameInContext2
Expected in: /usr/lib/swift/libswiftCore.dylib
We tested it on Big Sur and Ventura with the same outcome. On Ventura when running on Intel based Mac libswiftCore.dylib really doesn't provide this symbol:
nm -g libswiftCore.dylib | grep Mangle
00007ff80faf6150 T _$ss031_getFunctionFullNameFromMangledD007mangledD0SSSgSS_tF
00007ff80fcc4460 T _swift_getFunctionFullNameFromMangledName
00007ff80fcc40b0 T _swift_getMangledTypeName
00007ff80fcf7ed0 T _swift_getTypeByMangledName
00007ff80fcf8230 T _swift_getTypeByMangledNameInContext
00007ff80fcf8370 T _swift_getTypeByMangledNameInContextInMetadataState
00007ff80fcf7d90 T _swift_getTypeByMangledNameInEnvironment
00007ff80fcf80f0 T _swift_getTypeByMangledNameInEnvironmentInMetadataState
00007ff80fcfb460 T _swift_getTypeByMangledNode
Is there any workaround for this issue?
Crash log is the following:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 dyld 0x000000010a165f7a __abort_with_payload + 10
1 dyld 0x000000010a18ef40 abort_with_payload_wrapper_internal + 80
2 dyld 0x000000010a18ef72 abort_with_payload + 9
3 dyld 0x000000010a10f14a dyld::halt(char const*) + 672
4 dyld 0x000000010a10f274 dyld::fastBindLazySymbol(ImageLoader**, unsigned long) + 167
5 libdyld.dylib 0x00007fff203b3376 dyld_stub_binder + 282
6 ??? 0x0000000104b086a0 0 + 4373644960
7 com.xxxx.Tunnel 0x00000001049d318a 0x10489e000 + 1266058
8 com.xxxx.Tunnel 0x00000001049df35d 0x10489e000 + 1315677
9 com.xxxx.Tunnel 0x00000001048a0765 0x10489e000 + 10085
10 com.apple.ExtensionKit 0x00007fff31bda683 __112-[EXConcreteExtensionContextVendor _beginRequestWithExtensionItems:listenerEndpoint:withContextUUID:completion:]_block_invoke + 808
11 libdispatch.dylib 0x00007fff201ec5dd _dispatch_call_block_and_release + 12
12 libdispatch.dylib 0x00007fff201ed7c7 _dispatch_client_callout + 8
13 libdispatch.dylib 0x00007fff201f9b86 _dispatch_main_queue_callback_4CF + 940
14 com.apple.CoreFoundation 0x00007fff204ce356 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
15 com.apple.CoreFoundation 0x00007fff20490188 __CFRunLoopRun + 2745
16 com.apple.CoreFoundation 0x00007fff2048efe2 CFRunLoopRunSpecific + 567
17 com.apple.Foundation 0x00007fff21151fa1 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
18 com.apple.Foundation 0x00007fff211e0384 -[NSRunLoop(NSRunLoop) run] + 76
19 libxpc.dylib 0x00007fff200e53dd _xpc_objc_main + 825
20 libxpc.dylib 0x00007fff200e4e65 xpc_main + 437
21 com.apple.Foundation 0x00007fff211732bd -[NSXPCListener resume] + 262
22 com.apple.pluginkit.framework 0x00007fff2b288273 0x7fff2b26d000 + 111219
23 com.apple.pluginkit.framework 0x00007fff2b287efb 0x7fff2b26d000 + 110331
24 com.apple.pluginkit.framework 0x00007fff2b288639 0x7fff2b26d000 + 112185
25 com.apple.ExtensionKit 0x00007fff31be6d05 EXExtensionMain + 70
26 com.apple.Foundation 0x00007fff211e2479 NSExtensionMain + 208
27 libdyld.dylib 0x00007fff203b4621 start + 1