ios - variable value causing error: IR generation failure program too clever -
here simple code causing problem:
class coreviewcontroller: uiviewcontroller { private let ispad = ui_user_interface_idiom() == .pad }
following erorr message
<unknown>:0: error: ir generation failure: program clever: variable collides existing symbol objc_class_$_uidevice
no error, if remove ui_user_interface_idiom() == .pad
any thoughts?
ui_user_interface_idiom
not work in swift, it's objective-c macro.
solution
option 1. use uidevice.currentdevice().userinterfaceidiom
instead.
switch uidevice.currentdevice().userinterfaceidiom { case .phone: // it's iphone case .pad: // it's ipad case .unspecified: // undefined }
option 2. request uitraitcollection
instance , check idiom (recommended)
let deviceidiom = uiscreen.mainscreen().traitcollection.userinterfaceidiom switch (deviceidiom) { case .pad: // it's ipad case .phone: // it's iphone case .tv: // apple tv default: // undefined }
Comments
Post a Comment