Settings required for Audiokit engine - audiokit

I'm trying to run the tuner part of the cookbook so as to use it as a starter for another project.
The cookbook version works well but my project must be missing a setting somewhere.
The controller fails with
throwing -10878
I've set up the following:
a plist with "Privacy - Microphone Usage Description" set
an entitlements file with audio input set to yes
It looks like it should work and the error is not very descriptive because it's doing :
guard let device = engine.inputDevice else { fatalError() }
So It gives Fatal error when it fails.
What should I try next? to debug this?

Add "Privacy - Microphone Usage Description" permission to your info.plist. You can see an example of how it is added in the Cookbook app. Select your target, then the info tab to add the row.
Edit: Oh sorry you already tried adding this to the plist. throwing -10878 is a known issue that is possibly an Apple related issue, not an AudioKit one. That warning shows up in the Cookbook built too but it doesn't result in a crash or the app not building.

Related

Missing data in Fabric for IOS "Crashed: com.apple.root.default-qos"

I'm using Fabric.io to monitor and collect crash data for a IOS app.
I'm receiving now a lot of crash reports for this error "Crashed: com.apple.root.default-qos" but when I check Fabric to analyze it I got the following report:
where the stack-trace of the crash is missing.
What should I do to receive the complete stack-trace?
App uses some libraries imported using CocoaPods.
I'm attaching here also a screenshot with linked libraries:
I have discovered that this report was sent because of missing "Privacy - Face ID Usage Description" (NSFaceIDUsageDescription) in Info.plist.
I have no idea why the report was not complete, but after adding this key my app has stopped crashing.

File Folder error when using camera

I have followed this docs in implementing in taking a photo and picking a photo in Xamarin. I was able to implement and worked in picking a photo but I have error in using the function TakePhotoAsync() which is used to open the camera to take picture. I have googling for possible solutions but nothing works for me. I did not modify any permission or add from the current which work on Picking a photo.
It crashes in this line:
var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
{
PhotoSize = Plugin.Media.Abstractions.PhotoSize.Medium
});
I am testing in the emulator: AVD_for_Galaxy_Nexus(Android 6.0 - API 23)
Exception:
System.ArgumentException: Unable to get file location. This most likely means that the file provider information is not set in your Android Manifest file. Please check documentation on how to set this up in your project.
By the way, I did solve the error by downgrading the version of the plugin to Xam.Plugin.Media 3.1.2 from Xam.Plugin.Media 3.1.3. I didn't change anything in my codes.

Non-fatal errors not showing in Crashlytics

I was testing the non-fatal error functionality of Crashlytics and can't seem to get the recorded errors to appear in Crashlytics.
I did initialize Crashlytics in AppDelegate like this:
Fabric.with([Crashlytics.self])
And I test send error like this (the test code is in viewDidLoad method):
let error = NSError(domain: "myDomain", code: 1000, userInfo: nil)
Crashlytics.sharedInstance().recordError(error)
But nothing shows up in the analytics. I tried to:
Restart application
Disconnect from debugger and run the application several times
Add regular crash using Crashlytics.sharedInstance().crash(). In that case only the fatal crash is reported
I waited 4 days for the data to show up
Versions:
Crashlytics (3.8.5)
Fabric (1.6.12)
Thanks
I found what was the problem:
The application code was embedded in a framework. My tip is that the non-fatal logs were saved in the framework's bundle not the main bundle. On the next start the main bundle was searched for logs but none was found, thus nothing was sent.
My solution was remove the app from framework as it was no longer needed in the project. I am not sure how this would be solved if you would need to keep the code in the framework.
Run the script which uploads DSYMS to Firebase. Typically this script is not executed in debug mode - check the Build Phases tab. If you use such configuration just try in AdHoc build.
Please check if you uploaded DSYM file with your build.

Error launching 'Watchkit extension" - SPErrorUnknownMessage

Trying to run Watchkit - Notification. Receiving the following error:
Error launching 'Watchkit extension" - SPErrorUnknownMessage
Has anybody else come across this error before or knows what it means? Haven't been able to find anything online about it.
Cheers,
A
I have seen this issue and it was related to an error in the structure of my .apns file - there was a comma missing in the json. Once this was corrected, notifications worked again.
Try looking for errors in the Payload apns file that you are using for this target.
I got this message when I removed the file PushNotificationPayload.apns from the WatchKit Extension in Xcode.
Take a look into the Run-Section the Schema: If the Watch Interface entry shows something like Dynamic/Static Notification, it will likely expect some apns-file as notification payload. If that file is missing (or faulty as for Gavin Potts), you'll get that error.
So either fix the apns file, or change the Watch Interface entry to Main or sth. else.
This error occurs due to PushNotificationPayload.apns. Sometime closing quote may be missing.

iOS - AudioUnitInitialize returns error code 561017449

I have an app in the App Store which uses AudioUnit for recording audio.
About once a week or so I am seeing that for some users in the wild the call to AudioUnitInitialize fails with the error code 561017449 which is also 0x21707269 or "irp!".
What does this error code mean? I've been unable to find it documented. Also:
~$ macerror 561017449
Unknown error (561017449) at /usr/bin/macerror5.16 line 40, <DATA> line 1.
There have been few instances of this issue, but so far there appears to be no pattern of commonality as far as device and OS version goes.
I'm not including code as I don't think that will be helpful just yet. The code is working on variety of devices already. At this time I'm most interested in learning details about this specific error.
Thanks!
This is defined in AVAudioSession.h:
AVAudioSessionErrorInsufficientPriority = '!pri', /* 0x21707269, 561017449 */
and is described as "The app was not allowed to set the audio category because another app (Phone, etc.) is controlling it."
After wasting a lot of time I found that this issue is occurring in my device(iPad) just after debugging my current code in it without uninstalling the existing live app.
The record and play permission was creating the issue. So uninstalling then installing a fresh build magically does the job for me.

Resources