1
Swiftを使用してCPU温度を取得する必要がありますが、this以外の情報はありません。macOS。プログラムによってCPU温度を取得する方法
私はIOKit.frameworkを使うべきだと思っていますが、もう少し情報はありません。
Swiftを使用してCPU温度を取得する必要がありますが、this以外の情報はありません。macOS。プログラムによってCPU温度を取得する方法
私はIOKit.frameworkを使うべきだと思っていますが、もう少し情報はありません。
https://github.com/lavoiesl/osx-cpu-temp/blob/master/smc.cを使用しています。何か他のものに
簡素化main()
:あなたはいくつかのことをしなければならない
double calculate()
{
SMCOpen();
double temperature = SMCGetTemperature(SMC_KEY_CPU_TEMP);
SMCClose();
temperature = convertToFahrenheit(temperature);
return temperature;
}
はにObjCラッパーを書く:
#import "SMCObjC.h"
#import "smc.h"
@implementation SMCObjC
+(double)calculateTemp {
return calculate();
}
@end
はあなたスウィフトブリッジングヘッダにヘッダを追加します。
//
// Use this file to import your target's public headers that you would like to expose to Swift.
//
#import "SMCObjC.h"
アプリがサンドボックス化されている場合は、AppleSMCのセキュリティ免除を追加します。
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
<key>com.apple.security.temporary-exception.sbpl</key>
<array>
<string>(allow iokit-open)</string>
<string>(allow iokit-set-properties (iokit-property "AppleSMC"))</string>
<string>(allow mach-lookup (global-name "com.apple.AssetCacheLocatorService"))</string>
</array>
</dict>
</plist>
はスウィフトからそれを呼び出します。
https://www.dropbox.com/sh/lpe9bm08s2ynoob/AAA-N_br7aqRxJRks53FYK0fa?dl=0
それは動作します:
ここに私のサンプルプロジェクトです!ありがとうございました –