iOS is the operating system for iPhone.

iOS Documentation

Posts under iOS tag

2,829 Posts
Sort by:
Post not yet marked as solved
0 Replies
56 Views
In statistical objects In MXMetricPayload histogrammedTimeToFirstDrawKey start times not equal applicationExitMetrics exit: case1: "applicationExitMetrics": { "backgroundExitData": { "cumulativeNormalAppExitCount": 3, "cumulativeMemoryPressureExitCount": 4 }, "foregroundExitData": { "cumulativeMemoryResourceLimitExitCount": 3 } }, "applicationLaunchMetrics": { "histogrammedTimeToFirstDrawKey": { "histogramNumBuckets": 14, "histogramValue": { "10": { "bucketCount": 1, "bucketStart": "1740 ms", "bucketEnd": "1749 ms" }, "2": { "bucketCount": 1, "bucketStart": "1440 ms", "bucketEnd": "1449 ms" }, "3": { "bucketCount": 2, "bucketStart": "1490 ms", "bucketEnd": "1499 ms" }, "11": { "bucketCount": 1, "bucketStart": "1780 ms", "bucketEnd": "1789 ms" }, "4": { "bucketCount": 1, "bucketStart": "1500 ms", "bucketEnd": "1509 ms" }, "5": { "bucketCount": 1, "bucketStart": "1580 ms", "bucketEnd": "1589 ms" }, "12": { "bucketCount": 1, "bucketStart": "1860 ms", "bucketEnd": "1869 ms" }, "6": { "bucketCount": 1, "bucketStart": "1620 ms", "bucketEnd": "1629 ms" }, "13": { "bucketCount": 1, "bucketStart": "1990 ms", "bucketEnd": "1999 ms" }, "7": { "bucketCount": 1, "bucketStart": "1650 ms", "bucketEnd": "1659 ms" }, "0": { "bucketCount": 1, "bucketStart": "1400 ms", "bucketEnd": "1409 ms" }, "8": { "bucketCount": 1, "bucketStart": "1660 ms", "bucketEnd": "1669 ms" }, "1": { "bucketCount": 1, "bucketStart": "1430 ms", "bucketEnd": "1439 ms" }, "9": { "bucketCount": 1, "bucketStart": "1730 ms", "bucketEnd": "1739 ms" } } }, In this Case the app cold started 15 times, but quit only 10 times, why?? case2: "applicationExitMetrics": { "backgroundExitData": { "cumulativeMemoryPressureExitCount": 1 }, "foregroundExitData": { "cumulativeMemoryResourceLimitExitCount": 3, "cumulativeNormalAppExitCount": 1 } }, "applicationLaunchMetrics": { "histogrammedTimeToFirstDrawKey": { "histogramNumBuckets": 3, "histogramValue": { "0": { "bucketCount": 1, "bucketStart": "1490 ms", "bucketEnd": "1499 ms" }, "1": { "bucketCount": 1, "bucketStart": "1680 ms", "bucketEnd": "1689 ms" }, "2": { "bucketCount": 1, "bucketStart": "1880 ms", "bucketEnd": "1889 ms" } } }, The app cold started 3 times, but quit unexpectedly reached 5 times, why???
Posted Last updated
.
Post not yet marked as solved
0 Replies
54 Views
Hello, When I build an XCode project with the Apple Silicon chip, I have some issues. The project contains Pods and Swift Packages. I could not run the application at all and always got the following error: Could not find module '***' for target 'x86_64-apple-ios-simulator'; found: arm64, arm64-apple-ios-simulator, at: *** I try to resolve this issue. Always embed swift standard libraries = YES Build Active Architure Only = YES UIRequiredDeviceCapabilities = armv7 Excluded Architectures > Debug > Any iOS Simulator SDK arm64 add Open Using Rosetta Excluded Architectures > Debug > Any iOS Simulator SDK arm64 remove However, issue always come to me. :( Do you have any solution for this problem ? Thank you by advance !
Posted
by Gooood.
Last updated
.
Post not yet marked as solved
1 Replies
603 Views
As of iOS 17 SFSpeechRecognizer.isAvailable returns true, even when recognition tasks cannot be fulfilled and immediately fail with error “Siri and Dictation are disabled”. The same speech recognition code works as expected in iOS 16. In iOS 16, neither Siri or Dictation needed to be enabled to have SpeechRecognition to be available and it works as expected. In the past, once permissions given, only an active network connection is required to have functional SpeechRecognition. There seems to be 2 issues in play: In iOS 17, SFSpeechRecognizer.isAvailable incorrectly returns true, when it can’t fulfil requests. In iOS 17 dictation or Siri being enabled is required to handle SpeechRecognition tasks, while in iOS 17 this isn’t the case. If issue 2. Is expected behaviour (I surely hope not), there is no way to actually query if Siri or dictation is enabled to properly handle those cases in code and inform the user why speech recognition doesn’t work. Expected behaviour: Speech recognition is available when Siri and dictation is disabled SFSpeechRecognizer.isAvailable returns correctly false when no SpeechRecognition requests can be handled. iOS Version 17.0 (21A329) Xcode Version 15.0 (15A240d) Anyone else experiencing the same issues or have a solution? Reported this to Apple as well -> FB13235751
Posted
by GeertB.
Last updated
.
Post not yet marked as solved
2 Replies
84 Views
Running through the tutorial on how to sign data using security.framework, I was trying to understand the format Apple is using & wanting for signatures (as this isn't documented anywhere): https://developer.apple.com/documentation/security/certificate_key_and_trust_services/keys/signing_and_verifying?language=objc I've learned the format of the signatures are just ASN.1 objects, with EC signatures being a sequence of the R and S coordinates as ASN.1 integers. However, I am noticing when using SecKeyCreateSignature that either the R or S value will always be prepended with an extra byte. For example: 30 45 02 20 66 B7 4C FB FC A0 26 E9 42 50 E8 B4 E3 A2 99 F1 8B A6 93 31 33 E8 7B 6F 95 D7 28 77 52 41 CC 28 02 21 00 E2 01 CB A1 4C AD 42 20 A2 ^^ why is this here? 66 A5 94 F7 B2 2F 96 13 A8 C5 8B 35 C8 D5 72 A0 3D 41 81 90 3D 5A 91 This is a ASN.1 sequence, first is a 32-byte integer and second is a 33-byte integer. Why is that 00 byte being prepended to the integer? Why is it sometimes the R and sometimes the S? Removing it causes SecKeyVerifySignature to fail, so obviously it's required, but I need to know the logic here as I'm having to hand-craft these ASN.1 objects as all I have are the raw R and S values.
Posted
by ecnepsnai.
Last updated
.
Post not yet marked as solved
1 Replies
123 Views
I have a use-case were I want to use the the FQDN (Fully Qualified Domain Name) in IOS-Device, which can be used to connect to a Device instead of using the IP-Address. FQDN will be consisting of the machine-name or host-name (Most common term) and the domain-name of the network i.e network-name (local domain assigned to that device). Which IOS Api can be used Here?
Posted Last updated
.
Post not yet marked as solved
0 Replies
109 Views
I work on an app that uses a couple 3P SDKs that have their own SDK. My app also uses some of the APIs (UserDefaults) and declares those reasons in it's privacy manifest file. I was under the impression that I should only declare the reasons from my app in it's Privacy Manifest file, and that the 3P SDK reasons would automatically be pulled in (because they include them). Uploading to TestFlight I get warnings that this is not the case. If I only declare my app's reasons, it warns me that the APIs the SDK accesses are not included in the manifest. The only way to get it to work, is manually copying in the same declarations that the 3P SDK has into my own manifest file. Is this the way it's supposed to work? Or should it be generating a holistic manifest automatically for me?
Posted
by domitrzs.
Last updated
.
Post marked as solved
2 Replies
103 Views
Not impressed. Jk. My app has only received around 500 impression over 4 or 5 days. How can I fix that?
Posted Last updated
.
Post not yet marked as solved
1 Replies
95 Views
We are running a Xamarin/Maui iOS app. The syntax I post will be different from Swift or other languages, but the underlying logic and issues should be the same. Since our app is only for employees, we do not want it on the app store. Until now, we've used Microsoft's AppCenter to distribute our app. AppCenter is being retired. We are trying to follow the "Distribute proprietary in-house apps to Apple devices" guide at https://support.apple.com/guide/deployment/distribute-proprietary-in-house-apps-depce7cefc4d/web. This is working well so far from a web page for installs, but we want our app itself to prompt users to upgrade. We can call await Launcher.OpenAsync(url) with the manifest to install upgrades, however this gives users the option to cancel. If a user cancels, we do not want them to be able to use the old version. My understanding is Apple recommends against apps exiting themselves, which has been a problem for us in other situations users should not be able to continue as well. Providing a page explaining they cannot continue unless they upgrade, or giving them the option to try again is acceptable; however I cannot figure out any way to hook into the event for this dialog to bring this page up at the correct time. If we go against Apple's advice and close the app, calling Thread.CurrentThread.Abort() immediately after await Launcher.OpenAsync(url) seems to work, both for users who continue and users who cancel. I am wondering if anyone has an alternative - we cannot be the only one distributing an in-house app that upgrades itself.
Posted
by bvbellomo.
Last updated
.
Post not yet marked as solved
1 Replies
311 Views
Hello. Here is my AASA file (my appID changed): { "applinks": { "apps": [], "details": [ { "appIDs": [ "A123B4567C.app.myapp.tool" ], "components": [ { "/": "/en", "exclude": true }, { "/": "/en/*", "exclude": true }, { "/": "/workspace/*", "exclude": true }, { "/": "*" } ], "paths": [ "NOT /en", "NOT /en/*", "NOT /workspace/*", "*" ] } ] } } I need to open all links with my app except those with excluded flag. When I open 'right' links, my app opens them (that's great). When I open excluded link (e.g. https://myapp.app/workspace/personal) Safari opens it (that's great) but then the app is launched (that's what not expected). What I already checked: added the old "paths" property (it wasn't there originally) rebooted my device reinstalled my app from the TestFlight then from the AppStore asked ChatGPT used AASA validator (branch.io one) cleared Safari cache checked my links for redirects What else can I check? Thanks.
Posted
by Trand.
Last updated
.
Post not yet marked as solved
1 Replies
93 Views
Following the recent 17.4.1 update, while QR code scanning has been resolved, we're still experiencing problems with barcode scanning on iPad devices. Specifically, the AVCaptureMetadataOutput delegate is not functioning as expected. This issue is significantly impacting our application's functionality. We kindly request immediate attention to this matter to ensure seamless operation.
Posted
by devtatva.
Last updated
.
Post marked as Apple Recommended
124 Views
How can I open the user's Health Privacy Settings directly from my app when I'd like them to review them? I believe similar questions have been asked before like this one: https://forums.developer.apple.com/forums/thread/730434 However, I'm wondering if the situation is changed for iOS 17 or if there's a way that works for Health permissions. This is directly possible in the Garmin Connect app for example which is a major app on the store.
Posted Last updated
.
Post not yet marked as solved
1 Replies
121 Views
I have reach limit of associations and want to add a new device. Anytime I want to add a new device I get this error message "Your development team has reached the maximum number of registered iPhone devices." I have disabled some of the devices BUT I can't remove them completely. Hence, I still reach the limit of devices. As per as the Apple message saying: "Note: If you remove a registered device from your account, it will continue to count against your device limit. At the start of your new membership year, Account Holders and Admins will be presented with the option to remove listed devices and restore the available device count." I can't wait until the start of the new membership year. How can I remove and add more devices please wihtout having to wait until new membership year? Thank you
Posted
by Metro.
Last updated
.
Post not yet marked as solved
0 Replies
67 Views
I use the following push notification payload. { "aps": { "sound": { "name": "default", "volume": 0 } }, "type": "refresh" } When the iPhone received this, it sounds even though "volume" is set to "0". Is this iOS bug? Or dose "default alert sound" of iOS17 override this? I tested iOS17 and 16. This occurred both. Is there any way to set no sound when iPhone received a specific push notification like "type": "refresh".
Posted Last updated
.
Post marked as solved
1 Replies
109 Views
Hi there, My app plays the "default alert sound" when received "Remote Push Notification" and other timing. I understand the "default alert sound" plays when received "Remote Push Notification". However, it plays at some timing which is not the timing my app received "Remote Push Notification". I have no idea what makes the "default alert sound" play. Is there any trigger to make the "default alert sound" play other than receiving "Remote Push Notification"?
Posted Last updated
.
Post not yet marked as solved
0 Replies
67 Views
Hi, I'm planning iOS app uses covers following functions: write excel file(.xlsx) read excel file (.xlsx) and show it on the table I've been looking for library that can cover these so far, but I couldn't. if someone recommends me any library, I'd be very appreciated. thanks, c00012
Posted
by c00012.
Last updated
.
Post not yet marked as solved
0 Replies
88 Views
Within Xcode when initializing the client via code below, do I insert this code in my app declaration Swift file or can it be just another Swift file included in my app? Thanks! let client = Graph.Client( shopDomain: "your-shop-name.myshopify.com", apiKey: "your-storefront-access-token", locale: Locale(identifier: "en_US") )
Posted Last updated
.
Post not yet marked as solved
1 Replies
113 Views
I want to have a list of tasks and each task have a list of navigationLinks each NavigationLink has subtaskName as a label and subtaskDetails as destination and every List (tasks list and subtasks list) has .onDelete and .onMove behaviors But when I implement the code below the navigationLink act weird. navigationLink inside List inside List is not navigating when clicked and it is only triggered and navigates to SubtaskDetailView when clicking the outer List row. How can I fix this problem? import SwiftUI struct ContentView: View { @State private var tasks: [Task] = [ Task(name: "Task 1", subtasks: [ Subtask(name: "Subtask 1", details: "Details for Subtask 1"), Subtask(name: "Subtask 2", details: "Details for Subtask 2") ]), Task(name: "Task 2", subtasks: [ Subtask(name: "Subtask 1", details: "Details for Subtask 1"), Subtask(name: "Subtask 2", details: "Details for Subtask 2") ]), Task(name: "Task 3", subtasks: [ Subtask(name: "Subtask 1", details: "Details for Subtask 1"), Subtask(name: "Subtask 2", details: "Details for Subtask 2") ]) ] var body: some View { NavigationView { List { ForEach(tasks.indices, id: \.self) { index in TaskView(task: $tasks[index]) } .onDelete(perform: deleteTask) .onMove(perform: moveTask) } .navigationTitle("Tasks") .toolbar { EditButton() } } } private func deleteTask(at offsets: IndexSet) { tasks.remove(atOffsets: offsets) } private func moveTask(from source: IndexSet, to destination: Int) { tasks.move(fromOffsets: source, toOffset: destination) } } struct TaskView: View { @Binding var task: Task var body: some View { List { Text(task.name) .font(.headline) .padding(.bottom, 4) ForEach(task.subtasks.indices, id: \.self) { index in NavigationLink(destination: SubtaskDetailView(details: task.subtasks[index].details)) { Text(task.subtasks[index].name) } } .onDelete(perform: { indexSet in task.subtasks.remove(atOffsets: indexSet) }) .onMove(perform: { indices, newOffset in task.subtasks.move(fromOffsets: indices, toOffset: newOffset) }) } .frame(minHeight: CGFloat(task.subtasks.count) * 80) } } struct SubtaskDetailView: View { let details: String var body: some View { Text(details) .navigationTitle("Subtask Details") } } struct Task: Identifiable { let id = UUID() var name: String var subtasks: [Subtask] } struct Subtask: Identifiable { let id = UUID() var name: String var details: String } Thanks!
Posted Last updated
.
Post not yet marked as solved
0 Replies
108 Views
The mergeable binaries changes which were working till Xcode 15.2 now started breaking in Xcode 15.3 when uploading to AppStore fails with below error: [ContentDelivery.Uploader] Error Domain=ContentDelivery Code=90680 "Asset validation failed" UserInfo={NSLocalizedFailureReason=Invalid directory. The bundle Payload/MyApp.app/ReexportedBinaries/Pods_MyApp.framework is not contained in a correctly named directory. It should be under Frameworks. NSUnderlyingError=0x600001ec9200 {Error Domain=IrisAPI Code=-19241 "Asset validation failed" Invalid Bundle structure. The "MyApp.app/ReexportedBinaries/Pods_MyApp.framework/Pods_MyApp" binary file is not permitted. Your app cannot contains standalone executable or libraries, other than a valid CFBUndleExecutable of supported bunldes Below are changes in Podfile [Cocoapods based iOS project] specific to Mergeable binaries that were working till Xocde 15.2 and able to upload build to AppStore: post_install do |installer| setup_project(installer) # getMergeableLibraryNames() returns an array containing names of Pods as listed under Pods target which support Mergeable Binaries enable_mergeable_lib(getMergeableLibraryNames(), installer) end def setup_project(installer) installer.pods_project.targets.each do |target| configure_build_settings(target) end end def configure_build_settings(target) target.build_configurations.each do |config| config.build_settings['MERGEABLE_LIBRARY'] = 'YES' end end def enable_mergeable_lib(mergeable, installer) installer.aggregate_targets.each do |aggregate_target| aggregate_target.user_project.targets.each do |target| if target.name == "MyApp" aggregate_target.xcconfigs.each do |config_name, config_file| isRelease = config_name == "Release" updated_config = [getOtherLinkerFlags(mergeable, isRelease)] config_file.other_linker_flags[:simple] = updated_config xcconfig_path = aggregate_target.xcconfig_path(config_name) config_file.save_as(xcconfig_path) end end end end end def getOtherLinkerFlags(mergeable, isRelease) config = "" mergeable.each do |lib| if isRelease config = config + "-Wl,-merge_framework,#{lib} " else config = config + "-Wl,-reexport_framework,#{lib} " end end config = config + "-ObjC $(inherited)" return config end The App target has Create Merged Binary set to Manual As per Xcode 15.3 release notes, there seems some bug fix made by Apple related to Mergeable library but it is not clear what change we have to made in our existing code so as to fix above mentioned issues.
Posted
by qupar.
Last updated
.
Post not yet marked as solved
0 Replies
88 Views
I've encountered a strange issue reading characteristics from a BLE device using CoreBluetooth ONLY ON iPHONE 12 AND iPHONE 12 PRO. The problem is that the BLE device receives a read characteristic request for an errored characteristic id. The BLE Device is using blue kitchen btstack (https://github.com/bluekitchen/btstack). We also filed a bug report on their side here Say i ask for a characteristic discovered with CBUUID "F97A6DA4-B3AA-44B0-8DE7-40D238BE5E02", the device receives a request for a "F97A6DA4-B3AA-44B0-8DE7-40D238BE5E09" id. The exact same swift code is working perfectly on MacOS, reading the right characteristic on the device. I is also perfectly fine, tested on various iOS versions on iPhone 8, SE (1st gen), 11, 13, 15. The only devices affected are the 12 & 12 Pro. I also tried using popular apps like light blue, or nRF Connect for iOS, and the iOS app has the same behavior on iPhone 12 & 12 Pro (that is wrong), but is ok on other iPhone devices. Has anyone encountered such a strange behavior and have any insight on how to solve that ?
Posted
by aactimage.
Last updated
.
Post not yet marked as solved
0 Replies
76 Views
Dear Apple support, We are working on one of the projects related to BLE, in which our BLE device is acting as a GATT client and our iPhone device (iPhone 13, OS17.3) is acting as a GATT server. Issue being faced: Whenever my BLE device subscribes to the ANCS notifications, and the moment the IOS device starts bombarding with the notifications available in notification center, the BLE device controller's heap memory becomes UNAVAILABLE in runtime for this notifications' queue and eventually making the BLE controller to reset. Thereafter, whenever user tries making a new connection session of BLE, again same thing repeats. Notifications allowed in BLE display : W-SMS, W-CALL, SMS, CALL, none other than this. Issue observed with : IF and ONLY 150 notifications and above available in notification center, otherwise our product works fine with iPhone with less number of notifications. We would like to know how we can curb the number of PRE-EXISTING type notifications available in the notification center flowing towards the BLE device? What best solution can be done at the IOS side, we also have IOS APP team for this project. What kind of APIs does Core Bluetooth framework can provide to the IOS developer in order to overcome this issue. Please suggest possible ways from the IPHONE device only to overcome this. BLE's software CANNOT BE CHANGED under any circumstances as the product is already in production and complaints are coming from end user (from the field). OUR GOAL : ONLY notifications which will be available in run time, i.e. AFTER SUCCESSFUL BLE connection established to be displayed in the BLE's display. We DON'T WANT older notifications to be displayed and flow towards BLE over ANCS. WE MUST make 'notification popup' option as ALLOW to be shared with our BLE device, otherwise SMS,CALL, W-SMS,W-CALL during live connection will not come on the BLE 's display.
Posted
by MM_GGN.
Last updated
.