从Xcode构建脚本/ xcodebuild中排除App Extension(WatchKit)

时间:2015-04-15 18:37:51

标签: ios xcode xcodebuild watchkit xcode-6.2

我们目前正在使用的CI服务适用于iOS 8.1(如果我错了,请更正我)不支持Apple Watch / WatchKit。我已经做了一些搜索和围绕Xcode,但无济于事。

我正在寻找一种方法从构建中排除Apple Watch扩展程序 - 通过Xcode中的Run Build Script,或者更好的方法是通过xcodebuild命令直接执行此操作。

任何人都有任何提示吗?

3 个答案:

答案 0 :(得分:7)

查看您的main target > build phases > target dependenciesmain target > build phases > embed app extension并从两者中删除WatchKit内容

答案 1 :(得分:0)

我正在使用PHP脚本从项目运行时删除扩展的appex文件。

<?php
$file = file_get_contents("./PROJECT_Name.xcodeproj/project.pbxproj");
$emKeyPosition = strpos($file, "/* EXTENSION NAME */ = {
			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);
?>

如有待进一步讨论的问题,请与我联系。

答案 2 :(得分:-1)

如果您正在寻找脚本,您可以使用 configure_extensions gem。

语法:configure_extensions <mode> <project> <app_target> <extensions...>

示例:configure_extensions add MyApp.xcodeproj MyApp NotificationsUI