我被指出這個objc片段from WWDC 14,但我在一個Swift項目上工作。這個系統對象指針代碼是否可以在Swift中使用?
CMIOObjectPropertyAddress prop = {
kCMIOHardwarePropertyAllowScreenCaptureDevices,
kCMIOObjectPropertyScopeGlobal,
kCMIOObjectPropertyElementMaster
};
UInt32 allow = 1;
CMIOObjectSetPropertyData(kCMIOObjectSystemObject, &prop, 0, NULL, sizeof(allow), &allow);
我又試圖改寫斯威夫特:
var prop : CMIOObjectPropertyAddress {
kCMIOHardwarePropertyAllowScreenCaptureDevices
kCMIOObjectPropertyScopeGlobal
kCMIOObjectPropertyElementMaster
}
var allow:UInt32 = 1
CMIOObjectSetPropertyData(kCMIOObjectSystemObject, &prop, 0, nil, sizeof(UInt32), &allow)
但它甚至不進行驗證。我不知道如何翻譯CMIOObjectPropertyAddress
結構。 Xcode中說
/Users/mortenjust/Dropbox/hack/learning/screenrec/screenrec/deleteme.swift:32:61: 不能分配給GET-唯一的財產 '託'
哦,忘了補充,我通過橋接一個只有上面的東西的Objective-C類來工作。我想**避免**,因爲橋接頭讓Xcode自動完成非常慢。 –