2011-09-28 185 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

哇。謝謝。有效! –