2011-09-28 126 views
0

我有一个NSString我想要声明,所以我可以使用它作为一个applescript。这里是代码:特殊字符NSString

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

[在程序缺少终端“”字符&Unexpexted @]的可能重复(http://stackoverflow.com/questions/7579781/missing-terminating-character-unexpreted-in-the-program) – Vladimir

回答

3

你必须用“”将每一行都包围起来。

像:

NSString *HelloWorld = @"Hello" 
        " World"; 

什么,你正在做的是:

NSString *HelloWorld = @"Hello 
        World"; 

这是无效的。

[编辑纠正码显示,从而换行符正在除去例如是有意义的。]

+0

哇。谢谢。有效! –