2015-04-15 20 views
6

Usługa CI, której obecnie używamy, działa z iOS 8.1, która (popraw mnie, jeśli się mylę) nie obsługuje Apple Watch/WatchKit. Zrobiłem kilka wyszukiwania i szturchanie wokół Xcode, ale bez skutku.Wyklucz rozszerzenie aplikacji (WatchKit) ze skryptu budującego Xcode/xcodebuild

Szukam sposobu na wykluczenie mojego rozszerzenia Apple Watch z kompilacji - albo poprzez Run Build Script w Xcode, albo jeszcze lepszy sposób na wykonanie tego bezpośrednio za pomocą polecenia xcodebuild.

Ktoś ma jakieś wskazówki?

Odpowiedz

5

Spójrz na swoje main target > build phases > target dependencies i main target > build phases > embed app extension s i usunąć rzeczy WatchKit zarówno

+1

Dziękuję za odpowiedź - To działa na pewno, ale mam nadzieję, że mógłbym użyć jakiegoś skryptu, który następnie mógłbym wywołać z flagą do testowania - dzięki czemu możemy zachować rozszerzenie aplikacji w celu dla Dev/Beta/etc, ale nie ma go tam do testowania – Killian

0

Używam skrypt PHP aby usunąć rozszerzenie za plik appex z wykonywania projektu.

<?php 
 
$file = file_get_contents("./PROJECT_Name.xcodeproj/project.pbxproj"); 
 
$emKeyPosition = strpos($file, "/* EXTENSION NAME */ = { 
 
\t \t \t isa = PBXNativeTarget;"); 
 
$bPhPosition = strpos($file, "buildPhases = (", $emKeyPosition); 
 
$endPosition = strpos($file, ");", $emKeyPosition); 
 
$emString = "Embed Pods Frameworks */,"; 
 
$emFramePosition = strpos($file, $emString, $bPhPosition); 
 
$filelen = strlen($file); 
 
$previousComma = strrpos($file, ",", -($filelen-$emFramePosition)); 
 
$finalFmString = substr($file, $previousComma+1, $emFramePosition+strlen($emString)-$previousComma); 
 
$file = str_replace($finalFmString, "", $file); 
 
file_put_contents("./PROJECT_Name.xcodeproj/project.pbxproj", $file); 
 
?>

Daj mi znać w przypadku kwestii do dalszej dyskusji.