У меня была такая же проблема, и я смог использовать uname () в симуляторе для получения имени узла хоста, например:
#if TARGET_IPHONE_SIMULATOR
#include <sys/utsname.h>
#endif
...
#if TARGET_IPHONE_SIMULATOR
- (NSString *)testProxyHeaderValue {
struct utsname name = {};
uname(&name);
return [NSString stringWithFormat:@"iPhone Simulator @ %s", name.nodename];
}
#else
- (NSString *)testProxyHeaderValue {
return [[UIDevice currentDevice] name];
}
#endif
Имя узла симулятора совпадает с именем узла хоста, которое можно получить с помощью uname -n
в командной строке.
В Swift 2:
var name = utsname()
uname(&name)
return withUnsafePointer(&name.nodename) {
String.fromCString(UnsafePointer($0))!
}