В компиляторе Apple размер wchar_t
составляет 4 байта, поэтому std::wstring
кодируются в UTF32, а не в UTF16, как в Microsoft и других компиляторах.
std::wstring sCpp = L"hello";
NSString * sObjC = [[NSString alloc] initWithBytes:sCpp.data()
length:sCpp.size() * sizeof(wchar_t)
encoding:NSUTF32LittleEndianStringEncoding];