Common Errors & Solutions
Cannot find NCKit types after SPMโ
Symptom: Cannot find 'NCKitModelLocator' in scope (or NCKitProcessor, etc.) even though import NCKit is present.
Cause: Xcode resolved an old package checkout. Use tag 1.1.1 and reset caches.
Fix:
-
File โ Add Package Dependencies โ set NCKit to Exact Version
1.1.1 -
File โ Packages โ Reset Package Caches
-
File โ Packages โ Resolve Package Versions
-
Product โ Clean Build Folder (โงโK)
-
Confirm the checkout exposes
NCKitProcessor:grep NCKitProcessor ~/Library/Developer/Xcode/DerivedData/*/SourcePackages/checkouts/NCKit/NCKit.xcframework/ios-arm64/NCKit.framework/Modules/NCKit.swiftmodule/arm64-apple-ios.swiftinterface
NCKitError.missingModelโ
Symptom: throw NCKitError.missingModel("NCKit_model.tar.gz")
Checklist:
- Framework embedding โ Embed & Sign
- SPM cache โ Reset Package Caches
- CocoaPods โ
pod deintegrate && pod install - Clean derived data
- Intel Mac simulator โ Simulator guide
NCKitError.libraryInitโ
Cause: df_create() returned nil. Often Intel Mac simulator without Rosetta.
Fix: Physical device or Rosetta simulator.
NCKitError.unsupportedFormatโ
let asset = AVAsset(url: inputURL)
let tracks = try await asset.loadTracks(withMediaType: .audio)
print("Audio tracks: \(tracks.count)")
NCKitError.cannotCreateOutputโ
let output = FileManager.default.temporaryDirectory
.appendingPathComponent(UUID().uuidString + ".wav")
Build Error: Missing required module 'CDeepFilter'โ
Clean derived data; use prebuilt XCFramework, not source files.
Build Error: Simulator / device slice mismatchโ
Confirm full NCKit.xcframework is embedded, not a single slice.
NCKitStreamProcessor missing reset()โ
Symptom: reset() not available on NCKitStreamProcessor.
Fix: Upgrade to 1.1.1, reset package caches, clean build. reset() requires NCKit 1.1.1+.
Mic tap returns 0 Hzโ
Ensure the AVAudioEngine graph is connected, microphone permission is granted, and the audio session is active before installing the tap.
Denoise blocks UIโ
Run NCKitFileProcessor.processFile inside Task.detached (see How to Use).
Package download failsโ
Add your GitHub account under Xcode โ Settings โ Accounts for private repo access.
Audio Sounds Robotic / Over-Processedโ
let proc = try NCKitProcessor(modelURL: url, attenLimDb: 40)
proc.setAttenLim(40)
proc.setPostFilterBeta(0)