Posts

Post not yet marked as solved
8 Replies
602 Views
I have a macOS app that links to several static libraries. Each library has its own Xcode project, and we have a workspace that includes the app along with all of the static libraries. After upgrading to Xcode 15, any changes made to the code in one of the libraries will get compiled, but not relinked into the app (so the app will still be run using the old code without the change). So far, the only way I can get it to include the change is to clean the entire workspace and rebuild, which takes several minutes. Following suggestions I've found online, I've tried turning off "Find Implicit Dependencies" in the scheme but I can't figure out how to explicitly set the dependencies (they don't appear when trying to add a Target Dependency under Build Phases). Also, it seems to be correctly finding the dependencies since it recognizes when a change has been made and recompiles. I've tried specifying the libraries in both the "Link Binary With Libraries" Build Phase and the Other Linker Flags build setting. Both work in terms of correctly building the app but neither one fixes this issue. Does anyone know how to fix this issue? Waiting 5 minutes to recompile the entire project after each minor change is destroying my productivity!
Posted
by KGraus.
Last updated
.
Post not yet marked as solved
2 Replies
609 Views
We have an iOS app in the store that have been available for almost two years. This app is also available on macOS and Windows (and has been available on those platforms for many years before the iOS app was released). On macOS and Windows, users are given a product key in order to license the application (either purchased directly from us, or given to them by their institution). Depending on the purchase, the product key could be a subscription or a lifetime license. When we released the iOS app, we made the app "free" as in, there was no cost to install it from the store. On first run, the user is presented with in-app purchasing options, and also given the option to type in a product key if they have it. We are pretty much the definition of "3.1.3(b) - Multiplatform Services." We've had a couple issues in the past getting the app through review because of the product key option, but it's always been a simple matter of pointing out that we are complying with 3.1.3(b). For our most recent release, we were once again rejected for providing the product key option. However, after we pointed out that 3.1.3(b) allows unlocking based on purchases on a different platform, we were unilaterally told that product keys were not allowed. We had several back-and-forth interactions with the reviewer in an attempt to clarify why 3.1.3(b) doesn't apply, but we were only told that product keys were not allowed. Since this release is a bug fix only, they agreed to release it as-is but said we would need to address the issue in our next release. We have no intention of removing the product key unlock and are expecting our next release (a new feature release) to be rejected and then force us to appeal the decision. Has something changed recently that limits the ability to use product keys that were purchased on separate platforms? I've read through all of the relevant sections and I don't see anything materially different from when we first released the app 2 years ago. Is this just a reviewer who doesn't understand their policies? Has anyone gone through anything similar and managed to successfully appeal the decision?
Posted
by KGraus.
Last updated
.
Post marked as solved
6 Replies
2.3k Views
After upgrading to the latest version of Xcode, I'm no longer able to select "Constraint" from the layout dropdown in IB for the root view in a view controller. When I create a new view controller in my storyboard, the available options are "Inferred (Autoresizing Mask)" and "Autoresizing Mask" and the popup views for setting constraints are disabled. Previously created view controllers still show "Inferred (Constraints)" and "Autoresizing Mask" as the available options. Any ideas on how I can get back to using constraints?
Posted
by KGraus.
Last updated
.
Post not yet marked as solved
1 Replies
780 Views
We have some code that draws text to an NSImage, and the converts it to a NSBitmapImageRep so we can grab the data and use it as a texture. This has worked fine for many years and on thousands of customers machines:image = [[NSImage alloc] initWithSize:size];[image lockFocus];//Do drawingbitmap = [[NSBitmapImageRep alloc] initWithFocusedViewRect:rect];[image unlockFocus];//Generate texture using [bitmap bitmapData];We now have a customer with a 2019 MacBook that is showing a corrupted texture. We were able to track it down to the NSBitmapImageRep being created with floating point samples. I see there's an option to initialize the NSBitmapImageRep with the exact format we need. Once we do that, how to we get the data from the NSImage into it? Or is there a way to convert the NSImage directly into the format we need?
Posted
by KGraus.
Last updated
.
Post not yet marked as solved
3 Replies
886 Views
We are developing Metal shaders that make extensive use of function_constant. However, when testing on 10.11 we are getting the following warnings and errors:<program source>:34:32: warning: unknown attribute 'function_constant' ignoredconstant bool normal_defined [[function_constant(0)]];<program source>:34:15: error: variable in constant address space must be initializedconstant bool normal_defined [[function_constant(0)]];Looking at the feature set documentation (https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf) it seems to show (at least to how I'm interpeting it) that function contants are supported everywhere, but looking at the page for MTLFunctionConstant (https://developer.apple.com/documentation/metal/mtlfunctionconstant?language=objc) shows 10.12+.Is there any way to tell what features are supported in each OS version without looking at each individual page of documentation?
Posted
by KGraus.
Last updated
.