Я почти уверен, что вы можете сделать это через интерфейс OpenDirectory.См. Это руководство:
https://developer.apple.com/library/mac/#documentation/Networking/Conceptual/Open_Directory/Introduction/Introduction.html#//apple_ref/doc/uid/TP40000917
В основном вам необходимо открыть узел Open Directory (скажем, узел / Search), а затем найти ODRecord для вашего пользователя, а затем использовать:
setValue:forAttribute:error
в ODRecord для установки атрибута JPEGPhoto.
Если вы запросите dscl из командной строки для этого атрибута, вы увидите значение атрибута:
dscl /Search read /Users/luser JPEGPhoto
Я считаю, что инструмент dscl использует платформу Open Directory (или более старую / сложную в использовании / устаревшую платформу службы каталогов) для чтения и записи атрибутов в записи пользователя.Вы можете читать и писать любые другие атрибуты, используя этот инструмент и связанную с ним структуру.Я не вижу никакой причины, по которой JPEGPhoto будет другим.
Узел / Search МОЖЕТ быть доступен только для чтения (так как это своего рода мета-узел).Не совсем уверен.Возможно, вам придется явно открыть соответствующий узел (например, узел / Local / Default), прежде чем вы сможете записать в запись:
dscl /Local/Default read /Users/luser JPEGPhoto