@@ -5,7 +5,7 @@ use crate::{
MenuItem, PathPromptOptions, Platform, PlatformDisplay, PlatformInput, PlatformTextSystem,
PlatformWindow, Result, SemanticVersion, Task, WindowAppearance, WindowOptions,
};
-use anyhow::anyhow;
+use anyhow::{anyhow, bail};
use block::ConcreteBlock;
use cocoa::{
appkit::{
@@ -685,6 +685,9 @@ impl Platform for MacPlatform {
Err(anyhow!("app is not running inside a bundle"))
} else {
let version: id = msg_send![bundle, objectForInfoDictionaryKey: ns_string("CFBundleShortVersionString")];
+ if version.is_null() {
+ bail!("bundle does not have version");
+ }
let len = msg_send![version, lengthOfBytesUsingEncoding: NSUTF8StringEncoding];
let bytes = version.UTF8String() as *const u8;
let version = str::from_utf8(slice::from_raw_parts(bytes, len)).unwrap();