import Foundation
import Cocoa
import AVKit
import AVFoundation
let asset: AVURLAsset = AVURLAsset.init(url: "URL OF ANY VIDEO local/remote")
let imgGenerator: AVAssetImageGenerator = AVAssetImageGenerator.init(asset: asset)
imgGenerator.appliesPreferredTrackTransform = true
imgGenerator.generateCGImagesAsynchronously(forTimes: [NSValue(time: CMTime.zero)]) { (_, image, _, res, error) in
if error == nil {
DispatchQueue.main.async {
let imageView = NSImage.init(cgImage: image!, size: NSSize.init(width: 180.0, height: 180.0));
}
} else {
DispatchQueue.main.async {
// Some other fallback image
}
}
}
Author: Smin Rana
-

Capture first frame of the video as an image on iOS and macOS in swift
-
NSTableView custom highlight color with NSTableRowView
Getting the right color when you select NSTableView’s row was frustrating for me since I didn’t know how to do it properly. But it is really simple, all you need to do is having a class inherit from NSTableRowView and override its method drawSelection(in dirtyRect: NSRect).
import Foundation import Cocoa class MenuTableRowView: NSTableRowView { override func drawSelection(in dirtyRect: NSRect) { if self.selectionHighlightStyle != .none { let selectionRect = NSInsetRect(self.bounds, 2.5, 2.5) if let color = NSColor.init(named: NSColor.Name("menu_table_selection_color")) { color.setFill() } let selectionPath = NSBezierPath.init(roundedRect: selectionRect, xRadius: 0, yRadius: 0) selectionPath.fill() } } }Change menu_table_selection_color value in Assets.xcassets file.

Now go to your NSTableViewDelegate’s method add your custom NSTableRowView.
func tableView(_ tableView: NSTableView, rowViewForRow row: Int) -> NSTableRowView? { return MenuTableRowView() }Here you can see how my Storyboard looks like. Table view highlight value must be regular.

-

This app is not allowed to query for scheme fb in iOS
I wanted to open a Facebook Group page in the Facebook app on my iPhone but I was getting that error since I did not have any LSApplicationQueriesSchemes in my Info.plist file.
This is the code
let fbPage = "fb://profile/" + FB_GROUP_ID // Your Facebook group id e.g 8794808798015 let fbURL = URL(string:fbPage) let canOpenURL = UIApplication.shared.canOpenURL(fbURL!) if (canOpenURL) { UIApplication.shared.open(fbURL!, completionHandler: nil) }After adding ‘fb’ in my scheme it solves the issue.
My Info.plist file

