Post marked as solved
78
Views
I'm working getting a large app to Universal Binary, which uses a number of libraries and frameworks with third-party dependencies, a few of which are not yet available as arm64.
If a framework is marked as Optional in the app's build settings, the app will still link when it is absent.
I expected that if the framework only had one architecture needed for UB (e.g. just x86_64), we should be able to optionally link it successfully, and it would not matter if one architecture was missing.
However this isn't how Xcode handles it, we get a linker error for the missing architecture even if the framework is optional.
Is there a way to do what I'm expecting? Include an optional framework with only one architecture in a UB app, with the app taking responsibility for correct handling of the framework at runtime (just as it would for a missing optional framework in a single-architecture app)?
Post marked as solved
390
Views
I am trying to notarize a framework built for both platforms, arm64 and x8664 (universal).
The framework contains a static library (fat file) which can't be notarized.
I get the following errors in the log: "The binary is not signed." and "The signature does not include a secure timestamp."
When I build only for one of the two architectures (non-fat file), the notarization works without any issues.
Universal:
% file libtbarcode11.a
libtbarcode11.a: Mach-O universal binary with 2 architectures: [x8664:current ar archive] [arm64]
libtbarcode11.a (for architecture x8664): current ar archive
libtbarcode11.a (for architecture arm64): current ar archive % lipo -info libtbarcode11.a
Architectures in the fat file: libtbarcode11.a are: x8664 arm64
% codesign -v --verify libtbarcode11.a
libtbarcode11.a: valid on disk
libtbarcode11.a: satisfies its Designated Requirement arm64:
% file libtbarcode11.a
libtbarcode11.a: current ar archive % lipo -info libtbarcode11.a
Non-fat file: libtbarcode11.a is architecture: arm64 % codesign -v --verify libtbarcode11.a
libtbarcode11.a: valid on disk
libtbarcode11.a: satisfies its Designated Requirement
codesign commands I tried so far:
codesign --force --verify --verbose --sign "MyDeveloperIDApplicationCert" libtbarcode11.a
codesign --force --verify --verbose --sign "MyDeveloperIDApplicationCert" --options runtime libtbarcode11.a
codesign --force --verify --verbose --sign "MyDeveloperIDApplicationCert" --deep libtbarcode11.a
Post not yet marked as solved
55
Views
We are not able to load any .xlsx, .pptx file in WKWebview with M1 Chip Mac app but we can load PDF files.
The app is designed for iPad.
We can able to load the same files in iOS and iPadOS.
We are getting "Frame Load Interrupted" error in Mac app.
Post not yet marked as solved
72
Views
How to fix 'Command CompileSwift failed with a nonzero exit code' in Xcode?
Post not yet marked as solved
69
Views
Has anyone created a universal libexif.a that will work on both Intel and Apple silicon?
Can someone please share a link.
Post marked as solved
340
Views
DCDevice.isSupported = false if iOS app running on Apple M1 Chip Mac.
Bug?
Post not yet marked as solved
765
Views
I've deployed my first swift iOS app that supports iPhone, iPad, and Mac. However, when I look at the app in the Mac App store, the App says it is not compatible with my intel mac that i build ran and test it on. Looking at the listed requirements under compatibility in the store says that it requires iOS 11 and a mac with the Apple M1 chip. Is there a way to make my app compatible with intel Macs as well? This is a little frustrating.
Post not yet marked as solved
2.0k
Views
Is it possible to programmatically determine, at run time, if an App is running on Apple Silicon? If so, how?
Post not yet marked as solved
102
Views
Hi,
im totally new here , my problem in TestFlight I see the correct icon , but when I install the app it is an old icon of the 1st version
what do I wrong?
Post not yet marked as solved
110
Views
I know how to spot a "universal" app in the App Store metadata (devicefamily array includes mac, app kind is iosSoftware), but how can I spot an iOS app that will allow M1 Mac install in the metadata currently?
I know that developers have the ability to exempt macOS on Apple silicon from running some iOS apps, and I want to make sure that's respected when we're doing MDM assignment of applications.
Post not yet marked as solved
221
Views
Hello -
TLDR - Is there any sample code to demonstrate how one goes about creating dedicated XPCServices to wrap ARM and Intel-specific dylibs?
We have an app we're looking at moving to a universal binary.
In that same app we have a framework that currently wraps R functionality by directly linking to /Library/Frameworks/R.framework/Current .
R now has dedicated Intel and ARM builds (https://mac.r-project.org/)
After watching the 2020 WWDC session "Port your Mac app to Apple silicon" (https://developer.apple.com/videos/play/wwdc2020/10214/?time=2006), it sounds like, for us to deploy a universal binary I should look at wrapping the R interaction bits into dedicated ARM and Intel XPC services so the appropriate architecture for R will run.
Is anyone aware of any sample code or extended documentation demonstrating the ins and outs of how to think about this?
Thank you
Post not yet marked as solved
95
Views
I was able to get my App Icon on my iPhone. But I had to make some changes, and I inadvertently deleted the Icon. I can’t get the App Icon back on my iPhone. Can anyone out there help me?
Thanks in advance
Post not yet marked as solved
492
Views
I have an open-source project, available at https://github.com/MesserLab/SLiM, which uses Xcode (project file SLiM.xcodeproj). In Xcode 12.1 (12A7403), I would like to get a Universal build of the (four) build targets, but let's focus on the SLiM target, which is a command-line tool for macOS. I am on macOS 10.15.7, not macOS 11, but Apple's page (https://developer.apple.com/documentation/xcode/building_a_universal_macos_binary) says nothing about a required macOS version, so I'm under the impression that that is not a problem.
So. In Xcode, I select my SLiM scheme and select a Release build in Edit Scheme. In the project's settings, Architectures is "Standard architectures", base SDK is macOS 10.15, Build Active Architecture Only is "No" for a Release build, and Excluded Architectures is empty. The SLiM target does not override any of those settings, and the "Resolved" column for that target in the Build Settings pane, with the SLiM target selected, shows those values as expected. If I build, it builds without errors (and indeed, without warnings). If I examine the built executable with lipo -archs, however, it is x86_64 only. In the Report navigator, the build log says "Build target SLiM" and then "Project SLiM | Configuration Release | Destination My Mac | SDK macOS 10.15". All of the "Compile" lines say "(x86_64)"; there are no compiles for arm64.
I've never really understood what the "My Mac" thing is; thinking that that might be the problem, if I click that in my project window's title bar, the menu it shows has two choices: "My Mac" and "Any Mac (Intel)". There is no choice for "Universal" or some such. (But what is this setting anyway? Since my build settings say to build for "Standard architectures" and not "active architecture only", for a Release build, what does the "My Mac" setting govern?)
I'm left scratching my head. As far as I can tell, I'm doing everything Apple's page says to do, and yet I'm not getting an arm64 build – and that "Any Mac (Intel)" menu item suggests that my Xcode doesn't even know how to build for arm64, even though it is Xcode 12.1, which Apple says should know how to do it.
If I go to the Preferences and select Components, and click "Check and Install Now", things there seem to be up to date (but I think that's irrelevant anyway since my project is for macOS apps/tools, and does not involve any simulators). If I go to the Locations tab in prefs, it says "Command Line Tools: Xcode 12.1 (12A7403)".
What am I doing wrong??
Post not yet marked as solved
286
Views
I have built a fully working iPhone app, with some complex UI! Now that I have a bit more audience, I wanted to expand to iPad, I have read about size classes and, seen the Apple documentation about the topic, but I still did not get the answers I was looking for.
My questions are:
How should I build an iPad app, within the original iPhone app, so that some viewcontrollers may differ intensively? So for example, on the iPhone I have a collection view and a tableview, with some other views. And on iPad I want the same View(spot in the app), to consist of a split view controller, and some other views. So it would be 20% of already done views and 80% of newly added elements.
So if I would make it in the same view, using "vary for traits" it would be a hassle (I guess).
Would it be better, or can I actually have a different Storyboard for iPad?
What is the right approach?
Thanks in advance for your answers.
Post not yet marked as solved
354
Views
sizeof(long double) is 16 (aka 128 bits) in Intel Macs for alignment purposes but is actually 80 bit precision according to their documentation. In Apple Silicon, long doubles are just doubles. Anybody know how I can get 80 bit precision or better in my ARM64 slice?