我有一个NSString我试图声明,所以我可以用它作为一个AppleScript。这是代码:
NSString *script1 = @"do shell script /usr/bin/php -r ($mac = \"g1:ag:g3:cg:gg:eg\"; $porttemp = \"9\"; $ip = \"255.255.255.255\";
$mac_bytes = explode(\":\", $mac);
$mac_addr = \"\";
for ($i=0; $i<6; $i++)
$mac_addr .= chr(hexdec($mac_bytes[$i]));
$packet = \"\";
for ($i=0; $i<6; $i++) /*6x 0xFF*/
$packet .= chr(255);
for ($i=0; $i<16; $i++) /*16x MAC address*/
$packet .= $mac_addr;
$port = $porttemp;
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, TRUE);
socket_sendto($sock, $packet, strlen($packet), 0, $ip, $port);
socket_close($sock);
);"
问题我面对的是xcode说我没有终止它并且给出了一大堆错误。知道如何解决它或者我有什么不妥吗?
答案 0 :(得分:3)
你必须用“”来表示每一行。
像:
NSString *HelloWorld = @"Hello"
" World";
你在做的是:
NSString *HelloWorld = @"Hello
World";
无效。
[已编辑以更正代码显示,因此示例在删除换行符时有意义。]