Here is my sample code of integration with iCloud
let dbName = "GroceryItem1"
let fieldName = "todoTitle1"
@objc func saveItem(name: String) {
let record = CKRecord(recordType: dbName)
record.encryptedValues[fieldName] = name
database.save(record) { record, error in
if error == nil {
DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
self.fetchItems()
}
} else {
print("Error saving item: \(error?.localizedDescription ?? "Unknown error")")
}
}
}
Now my code works fine but what i don't understand is when i login to icloud.developer.apple.com why am i able to see the data, why is it not encrypted?
My database is private as well
If i go to record types i can see the recordfield is encrypted as shown in below screenshot
General
RSS for tagDive into the vast array of tools and services available to developers.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hey, Since I set up push notifications for my Flutter app following this tutorial https://documentation.onesignal.com/docs/flutter-sdk-setup, my Flutter app no longer builds for iOS in the CD pipeline. I get the following error:
[17:24:47]: ▸ ProcessException: Process exited abnormally with exit code -6:
[17:24:47]: ▸ Command line invocation:
[17:24:47]: ▸ /Applications/Xcode_15.4.app/Contents/Developer/usr/bin/xcodebuild -list
[17:24:47]: ▸ User defaults from command line:
[17:24:47]: ▸ IDEPackageSupportUseBuiltinSCM = YES
[17:24:47]: ▸ 2025-03-10 17:24:46.855 xcodebuild[13337:34491] [MT] DVTAssertions: ASSERTION FAILURE in DevToolsCore/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/ProjectModel/DataModel/References/SynchronizedGroups/PBXFileSystemSynchronizedAbstractGroup.m:28
[17:24:47]: ▸ Details: Assertion failed: IDEFileSystemSynchronizedGroupsAreEnabled()
[17:24:47]: ▸ Object: <PBXFileSystemSynchronizedRootGroup>
[17:24:47]: ▸ Method: +allocWithZone:
[17:24:47]: ▸ Thread: <_NSMainThread: 0x60000026c200>{number = 1, name = main}
[17:24:47]: ▸ Hints:
[17:24:47]: ▸ Backtrace:
[17:24:47]: ▸ 0 -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in DVTFoundation)
[17:24:47]: ▸ 1 _DVTAssertionHandler (in DVTFoundation)
[17:24:47]: ▸ 2 _DVTAssertionFailureHandler (in DVTFoundation)
[17:24:47]: ▸ 3 _DVTAssertionWarningHandler (in DVTFoundation)
My pipeline looks like this:
name: iOS Build and Deploy to App Store with Custom Version
on:
workflow_dispatch:
inputs:
version:
description: 'Version number'
required: true
default: '1.0.0'
env:
FLUTTER_CHANNEL: "stable"
RUBY_VERSION: "3.2.2"
jobs:
build_ios:
name: Build iOS
runs-on: macos-latest
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
bundler-cache: true
working-directory: 'daytistics/ios'
- name: Clean up vendor
working-directory: 'daytistics/ios'
run: rm -rf vendor
- name: Install Bundler Gems
working-directory: 'daytistics/ios'
run: bundle install
- name: Run Flutter tasks and get pub packages
uses: subosito/flutter-action@v2.16.0
with:
flutter-version-file: 'daytistics/pubspec.yaml'
channel: ${{ env.FLUTTER_CHANNEL }}
cache: true
- name: Get Flutter Packages
working-directory: ./daytistics
run: flutter pub get
- name: Install Bundler Gems
working-directory: 'daytistics/ios'
run: |
bundle install
bundle exec pod repo update # Add this line
# Remove the "Reinstall CocoaPods" step entirely
- name: Pod Install
working-directory: 'daytistics/ios'
run: bundle exec pod install
- name: Clean Flutter build
working-directory: ./daytistics
run: flutter clean
- name: Create .env file
working-directory: ./daytistics
run: touch .env
- uses: maierj/fastlane-action@v3.1.0
with:
lane: 'release_app_store'
subdirectory: daytistics/ios
options: '{
"version_number": "${{ github.event.inputs.version }}",
"env_vars": ["SUPABASE_URL", "SUPABASE_ANON_KEY", "POSTHOG_API_KEY", "SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID", "SENTRY_DSN"]
}'
env:
ASC_KEY_ID: ${{ secrets.ASC_KEY_ID }}
ASC_ISSUER_ID: ${{ secrets.ASC_ISSUER_ID }}
ASC_KEY_P8_BASE64: ${{ secrets.ASC_KEY_P8_BASE64 }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
APP_BUNDLE_ID: ${{ secrets.APP_BUNDLE_ID }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }}
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID: ${{ secrets.SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
Everything works as expected in the simulator. However, I think that the problem isn't related to the pipeline. Instead I think it is related to the "Signing Capabilities" in X-Code:
https://i.sstatic.net/E0tSetZP.png
https://i.sstatic.net/oC1xG0A4.png
Thanks for your help!
We are considering the development of a new service, We would like to ask for detailed information on the feasibility of the following.
Is it possible to encapsulate only xcframework, such as encapsulating xcframeworkA into xcframeworkB? If the above is possible, will the application incorporating the xcframework in the above state pass the review of apple?
Hi All,
I have an App on AppStore, recently the minimum supported version of the app was changed from iOS 12 to iOS 14.
Post that the TestFlight builds are crashing on launch.
If we revert the minimum supported iOS version to 12, the crash no longer happens.
This project is using cocoapods, and from the crash logs it seems the issue with with PLCrashReporter framework.
"EXC_CRASH" Termination reason: DYLD 9 weak-def symbol not found '__ZN7plcrash3PL_5async15dwarf_cfa_stateljiE10push_stateEv'.
This issue is happening only on TestFlight builds where the minimum supported version is 14.0
Any pointer to a solution is welcome.
In System Settings -> General -> Date & Time, there is an option called "Set time and date automatically".
Is there a way to check whether it is enabled programmatically?
am I correct in thinking that local agentsic coding is going to come to Xcode at some point ? I'm thinking cursor ai or windsurf / cline style.
Topic:
Developer Tools & Services
SubTopic:
General
Hello guys,
I have probleme with the lib react tinode on ios , someone can help m on it plz ?
Hi everyone!
I recently developed an app (sort of a social media app), built in React Native Expo. I have finally after months of coding, completed the App. It works completely fine and passes all my testcases on multiple devices. It has also passed Apples review and after a few tries become stable on all their devices. However, when I released it to TestFlight, it opens and crashes immediately? I have tried numerous fixes, error boundaries etc. but to no avail.
I am really struggling here, I can't seem to replicate the error at all even in Xcode. It seems to just crash on open where the splashscreen flashes, not sure why? I have attached the crash report and redacted the TEAM_ID and DEVICE_ID. Any help would be greatly appreciated.
Warm regards,
Hassan | Founder @ Oneforge
GymBuddiesConnect-2025-01-21-013038.txt
Does anyone know where I can get to the API diffs for iOS 18 -> iOS 26?
When I try to run my project on the simulator, it tells me there is a bug. It is not in the code I wrote, but I believe in the compiler. It would work perfectly, say the build succeeded, but the phone turns white and stops there. I don't know how to debunk it, what to do!
Picture of what happens with the phone:
Picture of the debugging area:
Hello Apple Developer Support,
I am writing to seek assistance with an issue we are experiencing in our SwiftUI application concerning UI test cases.
Our application uses accessibility labels that differ slightly from the display content to enhance VoiceOver support. However, we have encountered a problem where our UI test cases fail when the accessibility label does not match the actual display content.
Currently, we are using accessibility identifiers in our tests, but they only retrieve the accessibility label, leaving us without a method to access the actual display content. This discrepancy is causing our automated tests to fail, as they cannot verify the visual content of the UI elements.
We would greatly appreciate any guidance or solutions you could provide to address this issue. Specifically, we are looking for a way to ensure our UI tests can access both the accessibility label and the actual display content for verification purposes.
For ex:
Problem scenario - setting accessibilityLabel masks access to any displayed content
If an accessibilityLabel is set on a UI element, then it seems to be no-longer possible to check/access the displayed content of that element:
var body: some View {
Text("AAA")
.accessibilityIdentifier("textThing")
.accessibilityLabel("ZZZ") // Different label from the text which is displayed in UI
}
// in test...
func test_ThingExists() {
XCTAssert(app.staticTexts["AAA"].exists) // Fails, cannot find the element
XCTAssertEqual(app.staticTexts["ZZZ"].label, "AAA") // Fails - '.label' is the accessibilityLabel, not the displayed content
XCTAssertEqual(app.staticTexts["ZZZ"].label, "ZZZ") // Passes, but validates the accessibility content, not the displayed content
XCTAssert(app.staticTexts["textThing"].exists) // Passes, but does not check the displayed content
XCTAssertEqual(app.staticTexts["textThing"].label, "AAA") // Fails - '.label' is the accessibilityLabel, not the displayed content
XCTAssertEqual(app.staticTexts["textThing"].label, "ZZZ") // Passes, but validates the accessibility content, not the displayed content
}
element.label still only checks the accessibilityLabel. There is not, it seems, an way back to being able to check the content of the Text element directly.
Thank you for your attention and support. We look forward to your valuable insights.
Not sure if this is common with releases but I've been doing some CI work recently so it's the first time I've seen this myself,
When I list the runtimes installed on my machine:
xcrun simctl list runtimes
I notice the iOS 18.3.1 release has the below info:
== Runtimes ==
iOS 18.3 (18.3.1 - 22D8075) - com.apple.CoreSimulator.SimRuntime.iOS-18-3
Meanwhile the other runtimes are listed as:
== Runtimes ==
iOS 17.5 (17.5 - 21F79) - com.apple.CoreSimulator.SimRuntime.iOS-17-5
iOS 18.4 (18.4 - 22E5216h) - com.apple.CoreSimulator.SimRuntime.iOS-18-4
watchOS 11.2 (11.2 - 22S99) - com.apple.CoreSimulator.SimRuntime.watchOS-11-2
visionOS 2.3 (2.3 - 22N895) - com.apple.CoreSimulator.SimRuntime.xrOS-2-3
(Apologies for the weird formatting above, using code blocks and quote markdown condenses things down to one line for some reason)
This is causing some funkiness in my CI code which I've managed to workaround, but wondered if this was a common thing, specifically the mismatch between the iOS name and the runtime version.
iOS 18.3 and com.apple.CoreSimulator.SimRuntime.iOS-18-3 vs 18.3.1 - 22D8075 where the .1 has been dropped for the runtime names?
I'm experiencing an inconsistent behavior with the App Tracking Transparency (ATT) prompt in my Cordova iOS app using the admob-plus-cordova and cordova-plugin-consent plugins.
Environment:
Cordova iOS app
Plugins: admob-plus-cordova, cordova-plugin-consent
iOS Simulator: 16.0
Physical device: iphone 12 17.5.1
Xcode version: 16.2
Issue:
The ATT permission prompt appears correctly in the iOS Simulator but fails to show on physical devices. I've verified that:
Info.plist includes NSUserTrackingUsageDescription
The ATT request is triggered before initializing AdMob
The device is running iOS 14.5 or later
Expected behavior:
ATT prompt should appear on first launch on physical devices (as it does in the simulator)
Actual behavior:
ATT prompt appears correctly in simulator [attach your screenshot]
ATT prompt never appears on physical device
Troubleshooting steps tried:
Verified app hasn't previously requested ATT permission
Confirmed tracking is enabled in device Settings -> Privacy -> Tracking
Verified implementation order (ATT request before AdMob initialization)
Any insights on why this might be happening or additional debugging steps would be greatly appreciated.
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
iOS
Simulator
Privacy
App Tracking Transparency
We recently integrated MetricKit into our app; however, the 90th percentile data does not seem to match the data in Xcode Organizer. The values reported by MetricKit appear to be higher. Additionally, it looks like data for previous app versions is not being updated in Organizer as adoption of the latest version increases.
Has anyone else experienced this issue? Could there be a delay in data updates for older versions in Organizer? Are there any known limitations or best practices for ensuring consistency between MetricKit and Xcode Organizer data? Any guidance would be greatly appreciated.
Hello,
I have created a .NET MAUI application in Windows Visual Studio 2022.
Also I have a MAC fully configured with latest Visual Studio for MAC and Xcode Installed.
When pairing the MAC for windows machine I am able to run the simulators for various IPhone devices(as they are attached to MAC) but when I try to run for the MacCatalyst from my Windows machine it doesnt work.
Is it possible to create a build for the MAUI application for MacCatalyst from my windows machine.The build should be created in my Windows folder directory.?
Hello. I face such a problem as the fact that the screen does not work after turning on the developer mode. Read more: I'm trying to install an application that is not available in the App Store, and after installing it, I'm required to use developer mode. I turn it on, restart the phone, and the screen lits up in front of me that everything is ready to use the developer mode, and you just need to swipe up. I'm trying to do it, but the screen doesn't respond to my touch at all. I tried to restart the phone, but it didn't help. I reset it to factory settings - it didn't help either. I would like to hear advice from those people who have faced the same problem, or from those who know how to solve it.
Topic:
Developer Tools & Services
SubTopic:
General
Hi team,
we have a large-scale application in use that sends bulk emails to thousands of users. We adhere to all standard guidelines and protocols, and our email addresses are whitelisted to ensure they are not considered spam.
Our users create email alerts on our platform and receive notifications on their respective email addresses. These communications are not unknown, spam, or unsolicited marketing. To maintain trust with our users, we provide an unsubscribe feature as per RFC2369-compliant.
We have added list unsubscribe headers with mailTo implementation and sent it to outlook/gmail accounts. However, when unsubscribed, the email seems to be having the encoded characters as is. Whereas the same is working fine in other email clients without any encodings.
The headers were implemented according to the List-Unsubscribe headers as specified in the IETF RFC and our emails are purely transactional in nature.
This is a critical issue for a large organization like ours and while it works properly on Gmail web and mobile, it is essential for us to check with Apple Mail client as well. This situation undermines our commitment to user trust and compliance.
Can anybody assist me why the encoding is showing up?
Would like to know whats the process involved to enable the unsubscribe button in Apple mail client application?
I'm integrating Apollo GraphQL into a SwiftUI app and encountering the following error during a query execution:
result : failure(Apollo.MultipartResponseParsingInterceptor.ParsingError.cannotParseResponse)
failed : The response data could not be parsed.
The request hits the server, but the response fails to be parsed by Apollo. I'm using the default code generation setup and executing a simple query to fetch a list of countries.
Here’s a snippet of the function:
swift
Copy
Edit
private func fetchCountries() {
switch result {
case .success(let graphQLResult):
if let name = graphQLResult.data?.countries {
print(name)
} else if let errors = graphQLResult.errors {
print(errors)
}
case .failure(let error):
print("failed : (error.localizedDescription)")
}
}
This is run on an iPhone 16 Pro simulator with iOS 18.2. Any idea what's causing the parsing error or how I can inspect the raw response for debugging?
Thanks in advance!
does anyone know where to find some slideshow/text/pdf versions of these?
https://developer.apple.com/tutorials/swiftui
maybe apple can use that fancy AI they are working on to generate those from the vides... to stress-test the AI :)
Topic:
Developer Tools & Services
SubTopic:
General
OS:macOS15.5
CPU:Apple M1 Pro
zsh终端中执行python或pip命令,提示未找到命令,但执行python3或pip3命令,预期也是提示未找到命令,实际结果弹出Install Command Line Developer Tools弹窗安装,网上查阅资料,删除/usr/bin/python3、/usr/bin/pip3、/usr/local/bin/python3、/usr/local/bin/pip3文件即可达到预期,但无权限删除/usr/bin/python3与/usr/bin/pip3文件,尝试过root账号、进行系统恢复模式暂时禁用SIP解决方案,都无法解决;🙏大佬指点一二;
Topic:
Developer Tools & Services
SubTopic:
General