Post

Replies

Boosts

Views

Activity

How can I know when an NSTextField gets input focus (first responder)?
I think I can do this by creating a custom view overriding the following 2 methods: @implementation MyTextField - (BOOL)becomeFirstResponder { NSLog(@"%s: %@", __func__, self); return [super becomeFirstResponder]; //return YES; } - (BOOL)resignFirstResponder { NSLog(@"%s: %@", __func__, self); return [super resignFirstResponder]; //return YES; } @end But there is a gotcha - I always get successive become/resign. That is when I get becomeFirstResponder, I also get resignFirstResponder immediately. Note - I only have one MyTextField instance on my window. Is there another safe way to achieve my goal?
1
0
768
Mar ’23
KVO addObserver:forKeyPath not working
This is the first time I use KVO pattern. The code is quite simple but I could not get it working - the log method never gets run. What's wrong with my code? @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self.view.window addObserver:self forKeyPath:@"firstResponder" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil]; } - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context { NSLog(@"%@", change); } @end
1
0
680
Mar ’23
Quick Help always stops working after debugging
I have an annoying problem with Xcode 14.2. After opening a project, Quick Help pane works normally. But once a debugging session ends, it stops working (showing nothing). Meanwhile ALT+CLICK won't work either (no response). After closing and re-opening the project Quick Help works again. Is there any workaround for this nuiance? I already went back to 13.14.1.
1
0
321
Apr ’23
Entitlements/signature problem with app submission
I really need help. Can anyone decrypt the following message for me: Dear Developer, We identified one or more issues with a recent delivery for your app, "MYAPP" 2.0 (1200). Please correct the following issues, then upload again. ITMS-90288: Invalid Code Signing Entitlements - The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile. According to the provisioning profile, the bundle contains a key value that is not allowed: '' for the key 'com.apple.application-identifier' in 'MYAPP.app/Contents/Frameworks/libsqlite3s.dylib' ITMS-90286: Invalid Code Signing Entitlements - Your application bundle's signature contains code signing entitlements that are not supported on macOS. Specifically, value '' for key 'com.apple.application-identifier' in 'MYAPP.app/Contents/Frameworks/libsqlite3s.dylib' is not supported. This value should be a string starting with your TEAMID, followed by a dot '.', followed by the bundle identifier . The 2 dylibs are built by myself and for years I did not have this problem with submission. What should I do? Although I know something is wrong with entitlements/signature, but I have no clue at all on what I need to exactly.
1
1
1k
Apr ’23
IB_DESIGNABLE and dylib problem
My app has 2 dylibs linked, in build settings run path is set to "@executable_path/../Frameworks" and a copy file rule is also there. The app runs fine for years now (in App Store). But once I turn on IB_DESIGNABLE for a custom view, IB reports errors like below: It seems IB tries to load the dylibs from somewhere in Xcode.app. What should I do in order to get IB_DESIGNABLE to work in IB?
2
0
749
Apr ’23
No Info.plist in newly created project
It seem Apple is forcing developers to use new Xcode 14.3 and Ventura. I am having various rudimentary problems with Xcode 14.2. Today I created a new project and was surprised to find out that there is Info.plist in the project. I have to copy one from an older project. I am wondering if Xcode 14.3 does the same thing (not creating Info.plist). Or I am quite behind the trend because I had not updated my apps for more than a year. EDIT: Why PRODUCT_BUNDLE_IDENTIFIER is invalid?
2
0
26k
Apr ’23
CFBundleIdentifier not match?
I submitted a test package and got the following email: ITMS-90345: Metadata/Info.plist Mismatch - The value for bundle_identifier in the metadata.xml file does not match the value for CFBundleIdentifier in test [net.neolib.test.pkg/Payload/test.app]. I really don't have any idea what's wrong. It's a simple (almost blank) app with nearly no modification (except linked with a dylib). What is the metadata.xml? I cannot find it in my test project.
2
0
876
Apr ’23
@available question (again)
I once posted a question in the forums, but it seems I cannot find the thread now (maybe the thread was before the new forums was born). I don't know why I am so confused about this directive (or whatever): It looks like a compiler directive because it has a specific syntax. But it also looks like it's a runtime check because it is used in if statement (not in #if). So my question is: Given the following code: if (@available(macOS 13.0, *) { NSLog("Running on macOS Ventura or later") } else { NSLog("Running on older version before Ventura") } Does this directive check real macOS version during runtime?
1
0
616
Apr ’23
How stop Xcode from autogenerating application entitlement for dylib?
I am in peril. Can anyone save me. I am desperate! I am using Xcode Version 14.2 (14C18) to build my 2 dylibs. I had no problems with older versions of Xcode (one and half a year ago). But it's causing code signing problems and Connect fails my submitted binary package complaining I had wrong entitlement on dylibs. I contact Apple technical support and I got a reply: Entitlements are only effective on a main executable. When you sign a shared library with entitlement then, at best, the system ignores them. However, in some cases you can run into mysterious problems like this one. The key problem is that Xcode is autogenerating entitlement file for my dylibs. I have no entitlement files in my projects, I am sure. codesign -d --ent - libsqlite3s.dylib Executable=/Users/USERNAME/Library/Developer/Xcode/DerivedData/libsqlite3s-ahztenmeyvsijneqjzdtifjhljlr/Build/Products/Debug/libsqlite3s.dylib [Dict] [Key] com.apple.application-identifier [Value] [String] TEAMID.net.neolib.libsqlite3s How can I turn off this 'useful' feature?
1
0
680
Apr ’23
Generated xcarchive has no built dylib
I am in peril. Can anyone save me. I am desperate! I am using Xcode Version 14.2 (14C18). I created a fresh new library project (plain C/C++) and added the well-known SQLite3.h and SQLite3.c. When I build debug configuration, Xcode correctly produces dylib. But when I do archive build, the generated xcarchive is almost empty - it does not have expected libsqlite3s.dylib! I even went back to Xcode 7.2.1 on macOS 10.10. Xcode 7.2.1 can correctly produce archived dylib and I can link the dylib with a test app. I am extremely frustrated!
1
0
771
May ’23
How "Show in Finder" works in Xcode?
I want to add "Show in Finder" in my app that is similar to the one in Xcode. How do I do this using objc?
Replies
3
Boosts
0
Views
675
Activity
Mar ’23
Which version of Xcode works best with macOS 12 (Monterey)?
I am currently using Xcode 14.2 (14C18), but it has some glitches (which I don't want to enumerate here). I now want to revert back to an earlier older version. Any suggestions?
Replies
4
Boosts
0
Views
1.6k
Activity
Mar ’23
An audacious idea - how implement the overlay like NSDatePicker?
I really like to implement an overlay that is similar with what we have in NSDatePicker: I know most of the time, we just use what Apple gives us behind the curtain, but I really want to know if this even possible. Thanks!
Replies
0
Boosts
0
Views
437
Activity
Mar ’23
How can I know when an NSTextField gets input focus (first responder)?
I think I can do this by creating a custom view overriding the following 2 methods: @implementation MyTextField - (BOOL)becomeFirstResponder { NSLog(@"%s: %@", __func__, self); return [super becomeFirstResponder]; //return YES; } - (BOOL)resignFirstResponder { NSLog(@"%s: %@", __func__, self); return [super resignFirstResponder]; //return YES; } @end But there is a gotcha - I always get successive become/resign. That is when I get becomeFirstResponder, I also get resignFirstResponder immediately. Note - I only have one MyTextField instance on my window. Is there another safe way to achieve my goal?
Replies
1
Boosts
0
Views
768
Activity
Mar ’23
KVO addObserver:forKeyPath not working
This is the first time I use KVO pattern. The code is quite simple but I could not get it working - the log method never gets run. What's wrong with my code? @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self.view.window addObserver:self forKeyPath:@"firstResponder" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil]; } - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context { NSLog(@"%@", change); } @end
Replies
1
Boosts
0
Views
680
Activity
Mar ’23
chevron.down.square.fill image name
I cannot find any docs on this image name but I can select it from the dropdown list in IB. What is the mim macOS version for this name?
Topic: UI Frameworks SubTopic: AppKit Tags:
Replies
4
Boosts
0
Views
1.2k
Activity
Mar ’23
Quick Help always stops working after debugging
I have an annoying problem with Xcode 14.2. After opening a project, Quick Help pane works normally. But once a debugging session ends, it stops working (showing nothing). Meanwhile ALT+CLICK won't work either (no response). After closing and re-opening the project Quick Help works again. Is there any workaround for this nuiance? I already went back to 13.14.1.
Replies
1
Boosts
0
Views
321
Activity
Apr ’23
NSStackView.distribution runtime question
I target my project to macOS version 10.10. Now I have an NSStackView in IB and I can set its distribution property in the inspector pane. But there is a yellow warning saying that the distribution property is available only on 10.11+. My question is - will my app crash if it runs on macOS 10.10?
Replies
2
Boosts
0
Views
632
Activity
Apr ’23
Entitlements/signature problem with app submission
I really need help. Can anyone decrypt the following message for me: Dear Developer, We identified one or more issues with a recent delivery for your app, "MYAPP" 2.0 (1200). Please correct the following issues, then upload again. ITMS-90288: Invalid Code Signing Entitlements - The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile. According to the provisioning profile, the bundle contains a key value that is not allowed: '' for the key 'com.apple.application-identifier' in 'MYAPP.app/Contents/Frameworks/libsqlite3s.dylib' ITMS-90286: Invalid Code Signing Entitlements - Your application bundle's signature contains code signing entitlements that are not supported on macOS. Specifically, value '' for key 'com.apple.application-identifier' in 'MYAPP.app/Contents/Frameworks/libsqlite3s.dylib' is not supported. This value should be a string starting with your TEAMID, followed by a dot '.', followed by the bundle identifier . The 2 dylibs are built by myself and for years I did not have this problem with submission. What should I do? Although I know something is wrong with entitlements/signature, but I have no clue at all on what I need to exactly.
Replies
1
Boosts
1
Views
1k
Activity
Apr ’23
IB_DESIGNABLE and dylib problem
My app has 2 dylibs linked, in build settings run path is set to "@executable_path/../Frameworks" and a copy file rule is also there. The app runs fine for years now (in App Store). But once I turn on IB_DESIGNABLE for a custom view, IB reports errors like below: It seems IB tries to load the dylibs from somewhere in Xcode.app. What should I do in order to get IB_DESIGNABLE to work in IB?
Replies
2
Boosts
0
Views
749
Activity
Apr ’23
No Info.plist in newly created project
It seem Apple is forcing developers to use new Xcode 14.3 and Ventura. I am having various rudimentary problems with Xcode 14.2. Today I created a new project and was surprised to find out that there is Info.plist in the project. I have to copy one from an older project. I am wondering if Xcode 14.3 does the same thing (not creating Info.plist). Or I am quite behind the trend because I had not updated my apps for more than a year. EDIT: Why PRODUCT_BUNDLE_IDENTIFIER is invalid?
Replies
2
Boosts
0
Views
26k
Activity
Apr ’23
CFBundleIdentifier not match?
I submitted a test package and got the following email: ITMS-90345: Metadata/Info.plist Mismatch - The value for bundle_identifier in the metadata.xml file does not match the value for CFBundleIdentifier in test [net.neolib.test.pkg/Payload/test.app]. I really don't have any idea what's wrong. It's a simple (almost blank) app with nearly no modification (except linked with a dylib). What is the metadata.xml? I cannot find it in my test project.
Replies
2
Boosts
0
Views
876
Activity
Apr ’23
@available question (again)
I once posted a question in the forums, but it seems I cannot find the thread now (maybe the thread was before the new forums was born). I don't know why I am so confused about this directive (or whatever): It looks like a compiler directive because it has a specific syntax. But it also looks like it's a runtime check because it is used in if statement (not in #if). So my question is: Given the following code: if (@available(macOS 13.0, *) { NSLog("Running on macOS Ventura or later") } else { NSLog("Running on older version before Ventura") } Does this directive check real macOS version during runtime?
Replies
1
Boosts
0
Views
616
Activity
Apr ’23
How stop Xcode from autogenerating application entitlement for dylib?
I am in peril. Can anyone save me. I am desperate! I am using Xcode Version 14.2 (14C18) to build my 2 dylibs. I had no problems with older versions of Xcode (one and half a year ago). But it's causing code signing problems and Connect fails my submitted binary package complaining I had wrong entitlement on dylibs. I contact Apple technical support and I got a reply: Entitlements are only effective on a main executable. When you sign a shared library with entitlement then, at best, the system ignores them. However, in some cases you can run into mysterious problems like this one. The key problem is that Xcode is autogenerating entitlement file for my dylibs. I have no entitlement files in my projects, I am sure. codesign -d --ent - libsqlite3s.dylib Executable=/Users/USERNAME/Library/Developer/Xcode/DerivedData/libsqlite3s-ahztenmeyvsijneqjzdtifjhljlr/Build/Products/Debug/libsqlite3s.dylib [Dict] [Key] com.apple.application-identifier [Value] [String] TEAMID.net.neolib.libsqlite3s How can I turn off this 'useful' feature?
Replies
1
Boosts
0
Views
680
Activity
Apr ’23
Generated xcarchive has no built dylib
I am in peril. Can anyone save me. I am desperate! I am using Xcode Version 14.2 (14C18). I created a fresh new library project (plain C/C++) and added the well-known SQLite3.h and SQLite3.c. When I build debug configuration, Xcode correctly produces dylib. But when I do archive build, the generated xcarchive is almost empty - it does not have expected libsqlite3s.dylib! I even went back to Xcode 7.2.1 on macOS 10.10. Xcode 7.2.1 can correctly produce archived dylib and I can link the dylib with a test app. I am extremely frustrated!
Replies
1
Boosts
0
Views
771
Activity
May ’23