Post not yet marked as solved
Hi,
I'm at the the end of the whole codesign, notorize, staple deployment journey and testing the installation of my app that I've downloaded from Google Drive.
It is a zip file that contains just the app. When I double click to open, I get the "My App" is an app downloaded from the internet....prompt. It says it has checked it for malicious software and none has been detected.
When I click on Open, the app runs but the UI doesn't present - no windows are open. Quit doesn't work, I have to Force Quit.
If I drag it to another folder it opens OK. I realise that most third party apps have DMG installer, so the user has to drag the app as a matter of course, but I like the simplicity of using a .zip file.
I'd appreciate if someone could explain why this is happening (even after the user has granted approval to open) and if there is a way to open the app directly from where it has been downloaded to?
Thanks,
Stewart
Post not yet marked as solved
I'm trying to determine how best to achieve a desired result within Swift Charts.
I'm trying to make a sort-of "reversed" log chart. The use case here is for driving into the details of the percentiles from a series latency values stored within a histogram.
The X axis percentile values I was hoping to achieve was something along the lines of:
10, 50, 90, 99, 99,9, 99.99, 99.999
With those values being fairly evenly distributed across the chart. If I look at this from an inverted sequence of:
( 1 - (some value) ).reversed() where the values are:
0.00001, 0.0001, 0.0001, 0.001, 0.01, 0.5, 0.1
But I've been struggling with how to start with those values, scale the X axis using a 1-value kind of setup, and then overlaying the values that are more human readable to achieve the end result.
Any suggestions on how to tackle this scenario with customizing a chart axis?
Post not yet marked as solved
Hi,
For testing my app, I'd like to be able to use a utility to remove the user granted incoming connection permission. System Permissions > Security & Privacy > Firewall > Firewall Options....
I use tccutil reset SERVICE [BUNDLE_ID] to reset the Privacy Permissions, and I'm hoping there is a similar utility for the firewall permissions.
Please let me know if there is a way to do this?
Post not yet marked as solved
Hi,
I am currently implementing a validation on Apple OAuth token. When a user is trying to register, client-side receives tokens from Apple and sends the token when requesting a sign up. Therefore, I need to validate the OAuth token that it is an actual token from Apple.
These are my questions:
I've done some research and seems like that Apple does not allow me to have static client_secret which I need for token validation request. Also, I need to use the .p8 which I got when registering a app to the app store. But I'm uncertain of what I can do with the .p8 to receive the client secret.
I think that I need to send the request with the token to this url https://appleid.apple.com/auth/token. Am I able to send an access token for validation? On Apple's developer document, it says that I need to send a refresh token. https://developer.apple.com/documentation/sign_in_with_apple/generate_and_validate_tokens
Thank you.
Post not yet marked as solved
My app samples the various inputs available on the iPhone and iPad and performs a frequency analysis. In addition to using the internal accelerometer and gyroscope I can also sample the microphone and USB input devices such as accelerometers through the audio input subsystem. The highest sample rate I use with the microphone and USB devices is the 48 KHz of the audio sampling subsystem. This provides a bandwidth of 24 kHz (Nyquist frequency) on the sampled signal. This has worked for many generations of iPhone and iPad until now. When I use my iPhone 14 Pro there is a sharp frequency cutoff at about 8 kHz. I see an artifact at the same frequency when I use the simulators. BUT when I use my 11" iPad Pro, or my current generation iPhone SE I do not see this effect and get good data out to 24 kHz. The iPad Pro does show some rolloff near 24 kHz which is noticeable but not a problem for most applications.
The rolloff at 8 kHz is a serious problem for my customers who are testing equipment vibration and noise. I am wondering if this is related to the new microphone options "Standard", "Voice Isolation", and "Wide Spectrum". But if so, why only on the iPhone 14Pro and the simulators? I have searched the documentation but apparently it is not possible to programmatically change the microphone mode and the Apple documentation on how to use this new feature is lacking.
I am using AVAudioSession and AVAudioRecorder methods to acquire the data through the audio capture hardware. This code has been working well for me for over 10 years so I do not think it is a code problem but it could be a configuration problem because of new hardware in the iPhone 14 although I have not found anything in the documentation.
Examples from various devices and a simulator are shown below for microphone. Does anyone have an idea what may be causing this problem?
iPhoneSE 3rd Gen
iPad Gen 9
iPad Pro 11in
iPhone 14Pro
iPad 10th Generation Simulator
Post not yet marked as solved
I have a program that allows me to programmatically bounce a ball around a window. Everything works as desired. What I would like to be able to do is work with the window itself to do such things as remove the title, change the background color and make it non resizable. I think I do this by creating a class of type NSWindosController which I have done. I create an instance of it in the ContentView but it does not work. Is my class wrong or am I not creating an instance in the right place or is there some other problem. Thank you.
import Cocoa
class WindowController: NSWindowController {
override func windowDidLoad() {
super.windowDidLoad()
window?.styleMask.remove(.titled)
window?.styleMask.remove(.resizable)
window?.backgroundColor = .red
}
}
import SwiftUI
struct ColorShading: Identifiable {
let value: GraphicsContext.Shading
let id = UUID()
}
struct ContentView: View {
@State private var isPaused: Bool = true
@State private var ballPosition = BallPosition()
@State private var winController = WindowController()
var body: some View {
let ballColors = [
ColorShading(value: GraphicsContext.Shading.color(.orange)),
ColorShading(value: GraphicsContext.Shading.color(.red)),
ColorShading(value: GraphicsContext.Shading.color(.blue)),
ColorShading(value: GraphicsContext.Shading.color(.green)),
ColorShading(value: GraphicsContext.Shading.color(.gray)),
ColorShading(value: GraphicsContext.Shading.color(.yellow)),
ColorShading(value: GraphicsContext.Shading.color(.purple))
]
TimelineView(.animation(minimumInterval: 0.0001, paused: isPaused)) { timeline in
Canvas { context, size in
_ = timeline.date.timeIntervalSinceNow
let circleDiameter: Double = (size.width * 0.2)
let circleRadius: Double = circleDiameter / 2
if isPaused == true {
ballPosition.updateBaseData(maxX: size.width, maxY: size.height, circleRadius: circleRadius)
}
let wheelOrigin = CGPoint(x: ballPosition.xPosition, y: ballPosition.yPostion)
context.stroke(
Path { path in
path.addArc(center: wheelOrigin, radius: circleRadius, startAngle: .degrees(0), endAngle: .degrees(360), clockwise: false)
}, with: ballColors[ballPosition.randomColor].value, lineWidth: 2
) // end context stroke
ballPosition.updatePosition()
} // end canvas
.frame(width: 800, height: 800)
} // end time line view
.onAppear() {
Timer.scheduledTimer(withTimeInterval: 1.0, repeats: false) { timer in
isPaused = false
timer.invalidate()
} // end timer
} // end on appear
}
}
Post not yet marked as solved
I'm looking for API to add a new kerberos credentials to macOS internal ticket store.
Basically, I'd like to replace the whole authentication process with a proprietary component and not rely on the OS kerberos implementation, and get the following items:
Client-to-server ticket encrypted using the resource's secret key.
A new Authenticator encrypted using Client/Server Session Key
I'd like to set these 2 items where the OS keeps these items to be used when communicating with the resource itself.
Also, I'd like to keep another kerberos item retrieved after the first communication with the resource and it's used for SSO to allow additional request to the resource for a certain period of time. this item is the timestamp found in client's Authenticator encrypted using the Client/Server Session Key
Is there an API I can use to inject those items to where the OS keeps the kerberos Items so it can use them when it access the resource itself.
Post not yet marked as solved
Where can I download the code of the PartyTask app and test in xcode? Thx Christian f
Post not yet marked as solved
In sandbox testing, I was able to get auto-renewing subscription to work, but decided to switch to one-time in-app purchase. I've read many how-to's, but I'm missing something. My app has Bundle ID com.myname.id1 and IAP capability added. The IAP has Product ID com.myname.id2. My agreements are up-to-date (auto-renewing subscription worked). The In-App Purchases screen lists my IAP under "Drafts (1)"; is this expected? "[SKPaymentQueue canMakePayments]" returns true. "[[SKProductsRequest alloc] initWithProductIdentifiers:set]" (where set contains "com.myname.id2") responds to "[request start]". In the delegate, "NSArray *product = response.products" comes back empty.
Does the IAP have its own Bundle ID?
What am I doing wrong? What have I not told you that's important? I've been stuck for a few days on this. Thanks!
Post not yet marked as solved
Hi,
One user reported me that my app is crashing under macOS Ventura beta 13.3 (22E5230e)
After investigation is seems that creating an SKView, either by code
(SKView* skView = [[SKView alloc] initWithFrame:self.view.frame])
Or by Storyboards
([SKView initWithCoder:])
Crashes the app immediately.
It seems to me that this bug is so visible that I cannot understand how apple managed to release it in a public beta.
Anyone having the same problem, or knowing a workaround ?
Note : here is my feedback assistant report FB12032892
Post not yet marked as solved
I am trying to get the issuer id for Visual studio to paste it here
but when I go to the app store connect and press the key tab, this page appears and suddenly disappears very soon again and redirects me to the previous(main) page. Basically it does not let me to interact with it or click any button or so
Any idea why is this happening?
Post not yet marked as solved
The accounts that have google photo/ Drive (subscribed through apple), cant purchase google 1!
Post not yet marked as solved
I am trying to record a video from my camera while an ARView is running and I was wondering how I could do this, as documentation on doing this with an arview is sparse to none. I only need the actual camera feed, not the content that my arview is presenting on top.
I know I can get a CVPixelBuffer for each frame of the ARView, but I don't quite understand how to package this up into a video and save it in documents.
I have this code to manage updates from my ARView in my SwiftUI View:
arView.scene.subscribe(to: SceneEvents.Update.self) { _ in
if recording {
//do stuff if record button is pushed
}
}.store(in: &subs)
What do I need to do to package up all the CVPixelBuffers as a video once the stop recording button is pushed? Totally new in this field so any help is greatly appreciated!
Post not yet marked as solved
Ok, so I installed 13.2 macOS Ventura, and right after restart all folders and my app order were messed up. Ok, that was stressful, but I can understand that, because beta. But when I updated to 13.3(a) and get the same problem. Plus icons of deleted apps. Plus multiplied icons of the same app. This is very stressful to do. Cause I can't just rearrange everything every time after update. Is there a way to fix this?
Post not yet marked as solved
Hello, I am currently working on an application that uses the MapKit framework as well as Core Location. Since the upgrade to IOS 16, I have been continuously getting the warning "This method can cause UI unresponsiveness if invoked on main thread. instead consider waiting for '-locationManagerDidChangeAuthorization' callback and checking 'authorizationStatus' first".
Here is some history and what I did so far. I first noticed this warning on the "locationServicesEnabled" method within CLLocationManager. I was able to solve this issue by exactly as the warning was suggesting, sending the "locationServicesEnabled" call off the main thread by using dispatch async and global queues.
Initially this solved my problem, but I noticed when I start the app with "Location Services disabled or at Never" on my device the warning still appears, but only on those cases. If the app starts and the user has their Location Services on, the app will request "Location request When in Use" as expected and no warning will appear.
I believe MapView uses CLLocationManager in the background as a private class [MKLocationManager]. I am not sure if that what is causing the issue, but at least with the "locationServicesEnabled" warning the warning pointed to where I was calling it, now it's simply pointing to the main method of the application itself. If anyone has encountered this issue, any help would be greatly appreciated!
Issue navigator:
CLClientsIsLocationServicesEnabled
[MKLocationManager isLocationServicesPossiblyAvailable]
Post not yet marked as solved
Hello,
for some time now (like have a year ago) I've put my app on app store and had a few sales. I've set up my banking information etc, but it looks like Apple never created an invoice for those sales nor they ever did any payment to my banking account.
What can I do to figure out the reason?
Post not yet marked as solved
When a Picker is showing, if you tap on a button outside the Picker view that shows a Sheet, the sheet fails to show and subsequently showing any sheet will fail until you restart the app.
This only happens when the button that shows the sheet is too close to the bottom of the screen. If you provide some space between the bottom of the button and the screen (i.e. 50 Points), there is no longer an issue.
I reproduced this with Xcode 14.2 on an iPhone Xs (iOS 16.1.1) and the iPhone 14 Sim (iOS 16.2). It does not occur when testing with Playgrounds.
The error:
[Presentation] Attempt to present <TtGC7SwiftUI29PresentationHostingControllerVS_7AnyView: 0x7fae7585de00> on <TtGC7SwiftUI19UIHostingControllerGVS_15ModifiedContentVS_7AnyViewVS_12RootModifier_: 0x7fae76011800> (from <TtGC7SwiftUI19UIHostingControllerGVS_15ModifiedContentVS_7AnyViewVS_12RootModifier_: 0x7fae76011800>) which is already presenting <_UIDatePickerContainerViewController: 0x7fae756b0f00>.
struct ContentView: View {
@State private var showSheet = false
@State var selectedDate: Date = Date()
var body: some View {
VStack {
DatePicker(selection: $selectedDate) {
Text("Select Date")
}
Spacer()
HStack {
Button {
showSheet = true
} label: {
Text("Show Sheet Working")
.background(Color.green)
}
.offset(.init(width: 10.0, height: -45.0))
Button {
showSheet = true
} label: {
Text("Show Sheet Broken")
.background(Color.red)
}
.offset(.init(width: 10.0, height: -35.0))
}
}
.sheet(isPresented: $showSheet) {
Text("Hello World")
}
}
}
To reproduce, run the above code and tap the Date picker at the top. Tapping the green button which has more space from the bottom does not pose the issue. Tapping the red button causes the bug.
Post not yet marked as solved
Hello all,
I am working on an application which will work as daemon for the user.
With the update to Ventura I have seen that notification when daemons are installed is displayed.
is there any way to add code to prevent that notification to show up?
Thanks!
Post not yet marked as solved
For Apple Watch complications displayed on tinted faced, developers can use:
@Environment(\.complicationRenderingMode) var renderingMode
to see if the watch face is tinted. You can then use the
.complicationForeground()
modifier to set elements of the complication to match that tint color. (I appreciate that
.complicationForeground()
is now deprecated in favour of
.widgetAccentable()
but I believe the behaviour is the same).
However, this can only be applied to a view I believe. I'd like to display a Swift Chart where only certain elements of the chart have the
.complicationForeground()
rather than the whole chart.
For example, in one case I'd like the LineMark to pop with the tinted color of the complication whilst the rest of the complication get the gray default tint.
Is there a way to do with with the current APIs?
Thanks
Post not yet marked as solved
I have a need to tell if 2 images are different by unimportant details.
For example, one image is only slightly different than another because:
*) It is a little stretched
*) or it has 99% portion of another (only missing some pixels on borders)
I wonder if there is an efficient algorithm to achieve my goal. Any suggestions are welcome.