Post not yet marked as solved
I tried to upload a version of my app through XCode 15. All the process went well, but when the app reaches the test flight app on my iPhone 13 mini with iOS 16.5, it downloads the packet but then it goes back to the "Update" button. Seems that it doesn't like the package.
Am I the only one with this issue?
Post not yet marked as solved
Why adding a Location Service On/Off button to the Control Center would be beneficial:
Streamlined Access: Placing the Location Service toggle in the Control Center provides users with a quick and direct way to manage their location preferences. It eliminates the need to navigate through multiple settings menus, saving time and effort.
Immediate Privacy Control: Privacy is of utmost importance to Apple and its users. By incorporating a dedicated Location Service toggle, users gain immediate control over their privacy settings. They can easily turn off location services when not needed, mitigating any potential privacy concerns.
Battery Optimization: Location Services, when active, can be a significant drain on battery life. Having an accessible On/Off toggle in the Control Center empowers users to conserve battery power when they don't require location-based functionality, improving their overall device experience.
Contextual Awareness: The Control Center is designed to provide quick access to essential device settings. Including the Location Service On/Off button aligns with this objective, allowing users to manage their location preferences without interrupting their current tasks or applications.
Consistency and Intuitiveness: Users have grown accustomed to accessing various device settings through the Control Center. Adding a Location Service toggle would maintain consistency and intuitive navigation patterns, as users already associate the Control Center with quick and accessible settings adjustments.
Post not yet marked as solved
When I click the "Xcode 15 beta and Selected Platforms" button, in the download section, I get this Xcode_15_beta.xcdownloadmanifest file, but I don't get Xcode 15 itself. So what exactly I should do to install Xcode 15?
Post not yet marked as solved
I am currently working on a SwiftUI video app. When I load a slow motion video being in 240 IPS (239.68), I use "asset.loadTracks" and then ".load(.nominalFrameRate)" which returns 30 IPS (29.xx), asset being AVAsset(url: ). And the duration in asset.load(.duration) is also 8 times bigger than original duration. Do you know how to get this 239.68 displayed in the Apple Photo app ? Is it stored somewhere in the video metadata or is it computed ?
Post not yet marked as solved
Hello! Hope you had an amazing Dub Dub week.
I am currently integrating widgets into my weather app. The widgets use WeatherKit to get the hourly forecast. I have issues formatting or displaying dates for the locations. When I display the date for 2 or more locations with different timezones, the hours displayed are local for the phone, not the location I'm grabbing the weather for.
This is how I display the date. hour is the Forecast item from WeatherKit.
Text(hour.date.formatted(date: .omitted, time: .shortened))
Example:
Neither of the locations' time is 9:00. They are in different time zones with 10 hours difference, one should be different from the other.
Post not yet marked as solved
Below is the message I have received.
_Dear Developer,
We identified one or more issues with a recent delivery for your app, "App-Name" 3.1.5 (3106). Please correct the following issues, then upload again.
ITMS-90338: Non-public API usage - The app links to non-public libraries in Frameworks/image_picker_ios.framework/image_picker_ios: /System/Library/PrivateFrameworks/AVFCapture.framework/AVFCapture, /System/Library/PrivateFrameworks/AVFCore.framework/AVFCore. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/
Best regards,
The App Store Team_
Post not yet marked as solved
I have been working on a 3x3 Rubik's cube app for iOS, and I have a timer in it. Whenever I try to add a time and save the context in a preview, it gives an error.
func addTime(){
print("Started")
formatTime()
print("Formatted")
withAnimation(){
print(formattedTime)
let time = Time(context: viewContext)
time.time = formattedTime
print(time.time!)
do{
print("dostart")
try viewContext.save()
print("saved")
}catch{
let error = error as NSError
print("An error occurred: \(error)")
fatalError("An error occurred: \(error)")
}
}
}
This is the function that adds the time and saves the context.(The prints were for debugging purposes)
When this function runs while testing in the preview, the do/catch returns "An error occurred: Foundation._GenericObjCError.nilError"
When I try to run this in the simulator, it gives this error in Persistence.swift:
If you need it, here is my entire ContentView.swift:
import SwiftUI
import CoreData
var scrambles = ["R' B' L U' B2 D B' D' L R B L2 D' B L' U L2 B2 L B2 R' F L2 B' F' U2 B F' L2 F2", "D' B' L B' F L' B2 U' R2 D' U' L' D' R' F L U2 F' R2 D' B2 L' R' B' L R' U F L B2", "L R B' D' L D' U L2 R' B2 L' D2 U2 R' D' U' L D F' L2 D2 F D2 L' D' U' B' F2 U' B'", "U L2 R D' B2 D2 R2 D2 L2 R U2 R' U L2 D' F' D R B' F2 L' F' L B2 F' D' L R' F2 D"," D' U F L' R' U2 R' D B2 F U' L2 D2 B' L2 B2 R' F' D' U B' L' R' B' F L' B' L R2 D", "D2 U' F2 D' U' B2 F' U' R D2 U R2 D2 R2 U L B F2 D2 U2 B F2 L U2 F' U2 R D' L F'", "F D' U B F2 U' F' L2 B2 F2 U B2 F2 D' B' F' L' R2 B D U' B2 F' L' R B' U2 R2 D2 F'", "B F U2 B2 L U B F L2 R F' L2 F' U2 R B U' B2 U2 B' U2 L R D' U2 B' D L R' U"]
var starts = ["Start", "Stop"]
struct ContentView: View {
@State var start = false
@State var startstop = "Start"
@State var watch = stopwatch()
@State var elapsedTime: Int = 0
@State var timeToSave: Int = 0
@State var minutes: Int = 0
@State var seconds: Int = 0
@State var milliseconds: Int = 0
@State var formattedTime: String = ""
@Environment(\.managedObjectContext) private var viewContext
@FetchRequest(entity: Time.entity(), sortDescriptors: [])
private var timecd: FetchedResults<Time>
var body: some View {
NavigationView{
VStack{
Text("CubeTimer")
.font(.largeTitle)
.fontWeight(.bold)
.padding(2)
Text(scrambles.randomElement()!)
.multilineTextAlignment(.center)
.padding(.top, 125.0)
.padding(.leading, 15)
.padding(.trailing, 15)
.font(.title)
.fontWeight(.bold)
if start{
watch
.padding(.top, 30)
.fontWeight(.bold)
.onAppear{
startstop = "Stop"
watchToggle()
}
var timer: Timer {
Timer.scheduledTimer(withTimeInterval: 0.01, repeats: true) {_ in
elapsedTime += 1
//print("\(minutes).\(seconds)")
print("called")
print(elapsedTime)
//figure out how to stop timer and save time to core data
}
}
}
Button(action: {
start.toggle()
if start == false{
timeToSave = elapsedTime
print(timeToSave)
print(elapsedTime)
watchToggle()
buttonToggle()
addTime()
}
//print(start)
}){
Text(startstop)
}.padding(.top, 7)
.font(.system(size: 30))
Spacer()
//figure out how to stop timer and save time to core data
}
List{
ForEach(timecd){time in
Text(time.time ?? "Not found")
}
}
}
}
func buttonToggle(){
if start{
startstop = "Stop"
}else{
startstop = "Start"
}
}
func watchToggle(){
print("runs")
watch.toggleRun()
watch.testForIsRunning()
//print(watch.isRunning)
}
func formatTime(){
print("Formatting")
print(timeToSave)
minutes = timeToSave / 6000
seconds = (timeToSave % 6000) / 100
milliseconds = timeToSave % 100
print(minutes)
print(seconds)
print(milliseconds)
formattedTime = "\(minutes):\(seconds).\(milliseconds)"
}
func addTime(){
print("Started")
formatTime()
print("Formatted")
withAnimation(){
print(formattedTime)
let time = Time(context: viewContext)
time.time = formattedTime
print(time.time!)
do{
print("dostart")
try viewContext.save()
print("saved")
}catch{
let error = error as NSError
print("An error occurred: \(error)")
fatalError("An error occurred: \(error)")
}
}
}
func buttontext(){
if start{
startstop = "Stop"
}else{
startstop = "Start"
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Could somebody please help me resolve this issue?
Post not yet marked as solved
The App Store Review Guidelines have been updated with the new addition of 2.5.18.
Updated agreements and guidelines now available
Added to 2.5.18: “Apps that contain ads must also include the ability for users to report any inappropriate or age-inappropriate ads.”
How is it best implemented?
Will the user report to the developer via the app, or will the system report directly to the ad serving company via the app?
Is it mandatory to attach a screenshot of the screen containing the ad in question?
Is it enough just to have a function to report by email to the developer?
Need the ability for users to report issues directly from the screen where the ad is displayed?
Post not yet marked as solved
As I understood there is no built-in mechanism to propagate deletion operations to other devices automatically (CoreData + CloudKit - public database), in order to delete or simulate a deletion do I have to add an attribute to the entities I create in order to simulate a tombstone? and if so I would never really delete the items? or if I do delete them how would I do it? I watched WWDC20 however is still not clear for me how to implement it
Post not yet marked as solved
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
We noticed that your app requires users to register with personal information to purchase in-app purchase products that are not account based.
Apps cannot require user registration prior to allowing access to app content and features that are not associated specifically to the user. User registration that requires the sharing of personal information must be optional or tied to account-specific functionality.
Next Steps
To resolve this issue, please revise your app to not require users to register before purchasing in-app purchase products that are not account based. You may explain to the user that registering will enable them to access the purchased content from any of their iOS devices and provide them a way to register at any time, if they wish to later extend access to additional devices.
Please note that although App Store Review Guideline 3.1.2 requires an app to make subscription content available to all the iOS devices owned by a single user, it is not appropriate to force user registration to meet this requirement; such user registration must be optional.
Our app has been rejected multiple times and we feel hopeless. User login is required for in-app purchases as our company has developed products across multiple platforms, including Mac, Windows, and Android. User login is necessary for providing data sharing services.
Despite explaining this multiple times, it seems we are not able to get our point across.
What can we do in this situation? Urgently waiting for your response.
Post not yet marked as solved
Since NavigationView is now deprecated, I’m trying to update my code to use NavigationStack instead. However, I found that when using NavigationStack, section headers within an overall List view no longer have the collapsing triangle functionality. This used to work for NavigationView, List view, Section headers. Am I missing something? Is there a way to get back the section header collapse triangle within an overall List view when encapsulating within a NavigationStack?
Post not yet marked as solved
Build and installed Jax and Jax-metal following instructions on a M2Pro Mac-mini from here - https://developer.apple.com/metal/jax/
However, the following check seems to suggest XLA using CPU and not GPU.
>>> from jax.lib import xla_bridge
>>> print(xla_bridge.get_backend().platform)
cpu
Has anyone got it working to dump GPU?
Thanks in advance!
Post not yet marked as solved
Hey, I'm working on an app that will rely on data from NOAA and the EPA. I want to store the data centrally in a CloudKit database which the app can then query the public data from, but the problem lies in loading the data there. Is there something like a function or lambda for CloudKit that I could use to schedule a job to load data from NOAA and the EPA into the data store of CloudKit, which the app can then query? The only alternative I can think of is throwing a Mac mini in the corner of a closet with cross running Swift CLI programs which do it, would much rather have a function like functionality on CloudKit.
Post not yet marked as solved
There was a good 2021 WWDC presentation on using ProMotion on iOS, and using Adaptive Sync (ProMotion) on macOS. But while the macOS presentation showed how to detect ProMotion (fullscreen + min/maxInterval mismatch). The iOS side doesn't have this same mechanism. The talk mentions Metal sample code for the talk, but I don't see ProMotion mentioned anywhere in the Metal samples when I do search.
https://developer.apple.com/videos/play/wwdc2021/10147/
Post not yet marked as solved
I am working on a SwiftUI application that needs to sync data across multiple devices using CloudKit. I am trying to decide between two options:
CKSyncEngine with a custom model
SwiftData plus CloudKit container.
This decision is crucial for me because the application I am developing is using tree structured data and the relationship between the data is very complex. I would appreciate your guidance on which option is better suited for my needs.
One of the benefits of using SwiftData is that it has a lot of interesting features that can save me a lot of development time, such as automatic migrations, batch operations, predicates, sorting, grouping, etc. However, one of the drawbacks is that it may not be flexible enough to handle the complex data display logic that I need for my application. For example, I need to show different views depending on the level and type of the tree nodes, and I also need to perform some calculations and transformations on the data before displaying it. I am afraid that using SwiftData will lead to more complexity and uncertainty when implementing these features, and there may be performance issues as well.
Another factor that I need to consider is the future support and development of these options. I believe SwiftData will have a good future because it is based on Apple's frameworks and technologies. However, I don't know if CKSyncEngine will be valued in the long run because it is a third-party framework that may not be updated or maintained regularly.
In conclusion, I am still unsure whether to use CKSyncEngine or SwiftData for my SwiftUI application that needs CloudKit sync. Both options have their pros and cons, and I need to weigh them carefully according to my requirements and preferences. I would love to hear your opinion on this matter.
Thank you for your time and attention.
Post not yet marked as solved
Will it be possible to get direct access to all the different cameras of Vision Pro via AVFoundation or indirectly via other frameworks?
Which sensors (inner and outer color & IR cameras, LiDAR, TrueDepth camera) will developers have access to on visionOS?
Post not yet marked as solved
Just for grins, I tried running the SwiftData generation tool on the existing Core Data model of a non-trivial app I've worked on for a decade or so. It's pretty substantial, and uses some more advanced features, so it seemed like an interesting test case.
One of the warnings that was not reported by the UI, but which showed up in the generated code was quite a few instances of this:
Entity inheritance on entity Bar (parent class Foo) is unsupported in SwiftData.
Now that I'm looking at the code examples more carefully, I see an awful lot of final class, which maybe should have raised a red flag sooner. But to the best of my recollection, none of the sessions outright said that inheritance (was or) was not supported. Core Data has supported this functionality for a long time (maybe since the beginning).
Assuming that this isn't supported in this first seed, are there plans to provide this functionality in the future? By the launch of iOS 17?
(For the record, this model has 93 entities, of which 34 have parent entities. 14 are abstract, which I gather is also not supported. 3 of the entities are both abstract and have parent entities.)
Post not yet marked as solved
Where is the source code for Meet MapKit for SwiftUI video ?
Post not yet marked as solved
In the session, it was said that "While actors are great for protecting encapsulated state, we want to modify and read individual properties on our state machine, so actors aren't quite the right tool for this."
Could you elaborate it a little more?
Is it not recommended to modify and read individual properties in an actor instance?
Post not yet marked as solved
Hi all,
We deploy custom iOS/ipadOS apps to our iPads via jamf cloud. The apps are add-hoc releases using our distribution profile that includes all the iPads UUID. We then upload the apps to jamf and from there send it to our iPads.
When we deploy new versions of existing apps, we ran into issues where jamf would not update the app. After checking the iPad logs on the console, we found the follow errors that occurs every time jamf tries to push the new app:
default 12:47:03.239756-0700 dmd container_acquire_sandbox_extension: success
default 12:47:03.239780-0700 dmd container_acquire_sandbox_extension com.myCompany.myApp succeeded for path '/private/var/mobile/Containers/Data/Application/93DBC421-803E-48B5-B704-429908066041'
error 12:47:03.240395-0700 cfprefsd rejecting read of { com.myCompany.myApp, mobile, kCFPreferencesCurrentHost, /Library/Managed Preferences/mobile/com.myCompany.myApp.plist, managed: 1 } from process 122 (dmd) because accessing these preferences requires user-preference-read or file-read-data sandbox access
fault 12:47:03.240600-0700 dmd Couldn't read values in CFPrefsManagedSource<0xda8a2c9a0> (Domain: com.myCompany.myApp, User: kCFPreferencesCurrentUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): accessing these preferences requires user-preference-read or file-read-data sandbox access
default 12:47:03.240695-0700 dmd Revoking sandbox extension; key = 43
It seems as if the MDM process cannot update the app because of missing entitlements? Weird enough, this does not happen on all our iPads, only on a subset and we have not found the pattern yet to narrow down what the issue is.
We reached out to jamf but they claim the issue is with our app. But we can't really figure out what we would have to do to our app to let the MDM process update it.
When searching for this on google we found some related issues for macOS apps but nothing for iOS/ipadOS.
Any hints or pointers what the issue with our app could be? Thanks!