I want to release a Framework F, containing several other frameworks (such as Realm, Appetitive, Cocoalumberjack, PhoneNumberKit) for use by app A.
According to this article: https://medium.com/@bittudavis/how-to-create-an-umbrella-framework-in-swift-ca964d0a2345
They write, without referencing a source: "Although Apple discourage creating umbrella framework".
Is that true, do Apple discourage umbrella frameworks, if so why and is it a very strong discourage or a mild one?
If not discouraged, then how can this be achieved with Xcode 16?
I've been attempting to follow a few tutorial to achieve this, such as https://medium.com/john-lewis-software-engineering/adding-a-third-party-framework-inside-a-first-party-framework-in-xcode-3ba58cfd08da
however so far without any success. This last article mentions the Link Binary With Libraries section, which doesn't exist in Xcode 16.
There's the Frameworks, Libraries, and Embedded Content section where I have been attempting to add the frameworks into my Framework F (choosing Embed without Signing).
I'm able to successfully build Framework F, but when app A attempts to use it (adding F to the Frameworks, Libraries, and Embedded Content section with option embed and sign, or embed and don't sign, makes no difference) then I get run time errors about the umbrellaed frameworks not being able to be found.
Dive into the vast array of tools, services, and support available to developers.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Im unable to enroll on developer program shows unable to continue do we have to add funds beofre making an purchase.
Ref: https://developer.apple.com/documentation/bundleresources/entitlements/com.apple.developer.usernotifications.filtering?language=objc
Currently, it seems impossible to enable this entitlement for local development and testing without first going through Apple’s approval process.
I would like to be able to test how it works on a side project without having to submit the form which seems designed for real app.
There is any trick I can use?
I'm integrating Apple Pay with PayFort in a Swift iOS application, and I’m currently working on preparing a valid purchase request using Apple Pay, as described in PayFort’s documentation:
🔗 https://docsbeta.payfort.com/docs/api/build/index.html?shell#apple-pay-authorization-purchase-request
The documentation outlines the following required parameters:
apple_data
apple_signature
apple_header
apple_transactionId
apple_ephemeralPublicKey
apple_publicKeyHash
apple_paymentMethod
apple_displayName
apple_network
apple_type
Optional: apple_applicationData
I understand these should be derived from the PKPayment object after Apple Pay authorization, but I’m having trouble mapping everything correctly. Here’s what I’m seeing in code:
payment.token
// Returns something like: <PKPaymentToken: 0x28080ae80; transactionIdentifier: "..."; paymentData: 3780 bytes>
payment.token.paymentData
// Contains 3780 bytes of encrypted data
payment.token.paymentData.base64EncodedString()
// Returns a long base64 string, which at first glance seems like it could be used for apple_data,
// but PayFort doesn't accept it as-is — so this value appears to be incomplete or incorrectly formatted
I can successfully retrieve the following values from payment.token.paymentMethod:
apple_displayName
apple_network
apple_type
However, I’m still unsure how to extract or build the following in the format accepted by PayFort:
apple_data
apple_signature
apple_header
apple_transactionId
apple_ephemeralPublicKey
apple_publicKeyHash
apple_paymentMethod
These may be contained within the paymentData JSON, but I’m not sure how to decode it or if Apple allows decrypting it in a way that matches PayFort’s expected format.
How can I correctly extract or build apple_data, apple_signature, and apple_header from the Apple Pay token?
Also, how should I handle the decryption or decoding (if necessary) of paymentData to retrieve values like apple_transactionId, apple_ephemeralPublicKey, and apple_publicKeyHash?
If anyone has successfully set this up or has example code that bridges Apple Pay and PayFort’s expected request format, it would be super helpful!
Thanks in advance 🙏
After update to Xcode 16.3, any breakpoints stopped in simulator and device. The scheme is configured to Debug in Build Configurator.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Recently, I had an error when building a project with xcode16.3. I'm not sure if it's caused by xcode16.3.
I looked in /Users/lijin/Library/Developer/Xcode/DerivedData/Unity-iPhone-bqyvpudaavvrkzdtpgobtxxpzmlb/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/artifacts/arm64/buildstate/ and there was no Il2CppOutputProject folder. It seems that Run Script didn't work. I'm not sure what went wrong.
I'm using unity version 2023.2.19f, xcode version 16.3, system Mos 15.4
Please help me
Showing All Messages
chmod: /Users/lijin/Library/Developer/Xcode/DerivedData/Unity-iPhone-bqyvpudaavvrkzdtpgobtxxpzmlb/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/artifacts/arm64/buildstate/Il2CppOutputProject/IL2CPP/build/deploy_arm64/il2cpp: No such file or directory
Showing All Messages
chmod: /Users/lijin/Library/Developer/Xcode/DerivedData/Unity-iPhone-bqyvpudaavvrkzdtpgobtxxpzmlb/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/artifacts/arm64/buildstate/Il2CppOutputProject/IL2CPP/build/deploy_arm64/il2cpp-compile: No such file or directory
Showing All Messages
chmod: /Users/lijin/Library/Developer/Xcode/DerivedData/Unity-iPhone-bqyvpudaavvrkzdtpgobtxxpzmlb/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/artifacts/arm64/buildstate/Il2CppOutputProject/IL2CPP/build/deploy_arm64/bee_backend/mac-arm64/bee_backend: No such file or directory
Showing All Messages
/Users/lijin/Library/Developer/Xcode/DerivedData/Unity-iPhone-bqyvpudaavvrkzdtpgobtxxpzmlb/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/GameAssembly.build/Script-C62A2A42F32E085EF849CF0B.sh: line 27: /Users/lijin/Library/Developer/Xcode/DerivedData/Unity-iPhone-bqyvpudaavvrkzdtpgobtxxpzmlb/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/artifacts/arm64/buildstate/Il2CppOutputProject/IL2CPP/build/deploy_arm64/il2cpp: No such file or directory
I want to build an ios .xcframework (for external delivery) and .framework(for internal debugging) in order to package some code to a customer for incorporation into their app.
My framework has a dependency upon RealmSwift, which I've added using SPM.
There is a warning saying
Module RealmSwift was not compiled with library evolution support.
And when building SwiftVerifyEmittedModuleInterface fails with an error saying
"missing required modules: 'Realm.Private', 'Realm', 'Realm.Swift'"
By default, Build Libraries For Distribution was set to YES, however if I turn it off then the warning and error go away and I can cleanly build the framework.
I've been attempting to get a good understanding of this flag and if it should be used or not, most material says yes but doesn't go a good job of explaining why.
However anyway I can't get the framework to build with RealmSwift as a dependency without turning off this flag. Therefore is that ok to proceed down that route?
Does the fact the xcframework will only ever be distributed to one consumer affect decisions (i.e. binary compatibility etc.)
Thanks
Hi,
I am getting an error stating "Argument passed to call that takes no arguments". I want this Apple Watch App to measure and store RR Intervals from the PPG sensor on the Apple Watch for Heart Rate Variability calculations. Please help me fix this, I can't figure it out. Here is my code:
heartbeatQuery = HKHeartbeatSeriesQuery(predicate: predicate,
dataReceivedHandler: { (query, timeSinceLastBeat, ended, error) in
// Switch to main thread for UI updates
DispatchQueue.main.async {
if let error = error {
print("Heartbeat query error: (error.localizedDescription)")
self.fetchErrorMessage = "Heartbeat query error: (error.localizedDescription)"
// Consider stopping the workout session if the query fails critically
// self.stopWorkoutSession()
return
}
if ended {
print("Heartbeat query indicates series ended.")
}
// Append valid RR intervals
if timeSinceLastBeat > 0 {
self.rrIntervals.append(timeSinceLastBeat)
self.beatCount += 1
}
} // End DispatchQueue.main.async
}) // End query data handler
// --- END OF PROBLEMATIC INITIALIZER ---
// Execute the query if it was created successfully
It recommends the fix as removing this part:
'(predicate: predicate,
dataReceivedHandler: { (query, timeSinceLastBeat, ended, error) in
// Switch to main thread for UI updates
DispatchQueue.main.async {
if let error = error {
print("Heartbeat query error: (error.localizedDescription)")
self.fetchErrorMessage = "Heartbeat query error: (error.localizedDescription)"
// Consider stopping the workout session if the query fails critically
// self.stopWorkoutSession()
return
}
if ended {
print("Heartbeat query indicates series ended.")
}
// Append valid RR intervals
if timeSinceLastBeat > 0 {
self.rrIntervals.append(timeSinceLastBeat)
self.beatCount += 1
}
} // End DispatchQueue.main.async
})'
But after I remove that it says "Cannot assign value of type 'HKHeartbeatSeriesQuery.Type' to type 'HKHeartbeatSeriesQuery'" PLEASE HELP ME
Thanks
My team has reached the maximum number of registered iPhone devices on our profile and would like to reset the list to remove those that are no longer valid. Currently, our reset date in the developer portal shows March 22nd as the earliest date for a reset. Is it possible to request an earlier reset date?
Thanks
I have an iOS app that I also run on my Macbook Air M1. My app plays music and I use FaceTime for voice communication with users of my app. How do I stop FaceTime from cutting out the music on my app?
I used fastlane to package and upload the test package to TestFlight. However, the account in Xcode is often logged out automatically without any prompts.
In Xcode, I logged in with the developer account to automatically manage certificates, provisioning profiles, signatures, etc.
For the fastlane upload, I used a Application-specific passwords.
Does anyone know what could be the reason? I'm almost driven crazy.
Topic:
Developer Tools & Services
SubTopic:
Xcode
When I thought Xcode could not get any worse, here's the most absurd thing I have ever seen developing software in almost 20 years of work.
When building a project, which I haven't touched lately, and last time it was building just fine, it raised errors on a class that doesn't even belong in any way to such project, it only exists in another one. To clarify, we're talking of a project written in C++ which runs only on mac, which is failing due to linker errors, where the linker can not find symbols of a class living in a different project and that is not referenced in any way inside this project. I mean, really? how does Apple manage to make Xcode more and more unstable by the minute? Starting from Xcode 15.1 I was already experiencing much longer building times, due to the fact that it doesn't manage the cache properly and is rebuilding lots of stuff every time..
Topic:
Developer Tools & Services
SubTopic:
Xcode
我想在我的 Mac OS 项目 (Swift UI) 中添加一个 Package dependency Package,但我只能添加一个 Package Collection,我不能只添加一个单独的包依赖包,我想添加 mysql kit 以使我的项目链接到 Mysql 数据库
I am a developer working on an iOS enterprise application. When I deployed the release version to my device, it crashes upon startup. It works fine in debug mode on my device.
The app is an upgraded version of Xamarin Form to .NET MAUI.
I have attached a crash report.
I would appreciate any help/insights on how to resolve.
--John
I need to elicit the location of the user in the Siri intents and so I call:
override init(){ super.init() self.locationManager=CLLocationManager() self.locationManager.delegate = self; self.locationManager.startUpdatingLocation() self.locationManager.requestWhenInUseAuthorization() }
Still neither
public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager)
nor
public func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
are ever called, notwithstanding the presence of the correct entry in the info.plist, the inclusion of the library and the indication of the delegation with:
class IntentHandler: INExtension, INSendMessageIntentHandling, CLLocationManagerDelegate, UISceneDelegate
are ever called.
Is there any problem with CLLocation manager on intents? What would be a big problem as there is no way to share information with the main app!
I'm experiencing an issue with a custom font not loading properly in Xcode 16.3. The font files are included in the bundle, listed in Info.plist, and verified for correct names using UIFont.familyNames, but they still don't appear at runtime. Has anyone else run into this with Xcode 16.3? Could this be related to recent changes in asset packaging or font catalogs?
I'm currently transferring an iOS app to a new Apple Developer account and following the process outlined in Apple’s documentation:
🔗 TN3159 - Migrating Sign in with Apple users for an app transfer
The process for generating transfer_identifiers and migrating existing users is clear, and I don’t expect issues with that part.
However, I have a question about preserving the user session after the transfer.
My setup:
The app uses Sign in with Apple via a backend-based authentication flow.
On login, the app retrieves the authorization_code and sends it to the backend.
The backend exchanges the code for tokens from Apple, including a refresh_token.
That refresh_token is then used on the backend to validate the user’s identity on subsequent requests.
My concern:
Once I initiate the app transfer, migrate users, and update the backend with new Apple credentials (client ID, team ID, etc.), I assume that the existing tokens issued under the old credentials will become invalid.
So my question is:
Is there a way to maintain the user’s authenticated session through this transition without requiring them to manually sign in again?
I’d like to ensure a seamless experience for users, if possible.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
Tags:
Sign in with Apple
Sign in with Apple REST API
Hi, I requested the https://itunes.apple.com/lookup?id=6482849843&country=us for getting the information of Goods puzzle sort challange , but the screenshotUrls in the response was empty. Is iTunes search API has issue with getting the screenshot urls ? Is there any plan to update it ?
Topic:
Developer Tools & Services
SubTopic:
General
I have enrolled for being a developer 4 days ago. My Enrollment ID: R2V23J5GYP. I have received an order acknowledgment email on 6th of March but there have been no updates since then.
I am still seeing 'complete your purchase' in the main page. What should I do to get through?
I would greatly appreciate it if anyone could help me solve this problem as soon as possible. Thank you.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
When calling modifypromo, I keep getting this error: error: HTTP status code 409, body {
"errors" : [ {
"id" : "7aeb5c20-576d-4500-ad65-525d298d2093",
"status" : "409",
"code" : "STATE_ERROR",
"title" : "The request cannot be fulfilled because of the state of another resource.",
"detail" : "Cannot invoke "com.apple.its.pricing.api.model.Country.countryCodeISO2A()" because the return value of "com.apple.its.pricing.api.model.offers.AdHocOfferProduct.country()" is null"
} ]
}
My request is:
Where id is the encrypted values needed { "data": { "attributes": {}, "relationships": { "prices": { "data": [ { "id": "id", "type": "subscriptionPromotionalOfferPrices" } ] } }, "type": "subscriptionPromotionalOffers", "id": "id" }, "included": [ { "attributes": {}, "id": "subscriptionPromotionalOfferPrices", "relationships": { "subscriptionPricePoint": { "data": { "id": "id", "type": "subscriptionPricePoints" } }, "territory": { "data": { "id": "USA", "type": "territories" } } } } ] }