While the Wallet app provides exports for Apple Cards at the end of each month, many of us like to handle our budgets on a more frequent basis. However, the Wallet app provides no mechanism for this. This package uses Apple's Vision framework to read Wallet screenshots and export transactions to CVS files.
- macOS 10.15+
- iOS 13+
- Screenhots must be cropped such that only transaction information, without icon, is shown as in the following example:
- CardVision does not currently attempt to deduplicate transactions that show up in multiple screenshots.
brew install bergquester/bergquester/cardvision
cardvision -imagePath <path_to_cropped_images> -outputPath <path_to_output_file>
- Xcode 11+
- No external dependancies!
Use Swift Package Manager.
import CardVision
let filePath = "path_to_directory_of_images"
let csvData = FileManager()
.images(inPath: filePath)
.allTransactions()
.filtered(isDeclined: false)
.csvData
Contributions are welcome. Some areas that need some help:
- Real error handling
- API documentation
- Tests and test data
- Address limitations