小编pab*_*art的帖子

使用xcodebuild(Xcode 8)和CI(Travis/Jenkins)环境中的自动签名

随着Xcode 8的发布,Apple推出了一种管理签名配置的新方法.现在你有两个选择ManualAutomatic.

根据WWDC 2016年关于代码签名的会议(WWDC 2016 - 401 - Xcode应用程序签名中的新功能),当您选择Automatic签名时,Xcode将:

  • 创建签名证书
  • 创建和更新应用程序ID
  • 创建和更新配置文件

但根据Apple在该会话中所说的内容,Automatic Signing将会使用Development signing并将仅限于Xcode创建的配置文件.

当您尝试Automatic Signing在CI环境(如Travis CI或Jenkins)上使用时,会出现此问题.我无法找到一种简单的方法来继续使用自动和签署分发(因为Xcode强制您使用开发和Xcode创建的配置文件).

新的"Xcode创建的配置文件"不会显示在开发人员门户中,虽然我可以在我的机器中找到...我应该将这些配置文件移动到CI机器,构建Development和导出Distribution吗?有没有办法覆盖Automatic Signing使用xcodebuild

xcode continuous-integration xcodebuild jenkins travis-ci

72
推荐指数
2
解决办法
5万
查看次数

如何将视图推送到导航堆栈并删除当前的视图?

我想将视图推入导航控制器堆栈但删除当前的一个,这样当用户按下下一个视图时,它不会将它们带到上一个视图.

一个方向的流动可能是以下之一:

View X -> View 1 -> View 2 -> View 3    
View X -> View 1      ->      View 3
Run Code Online (Sandbox Code Playgroud)

但是,相反方向的流动总是如下:

View X <- View 1      <-      View 3
Run Code Online (Sandbox Code Playgroud)

问题是我想在View 2 Controller上处理它,在View 3上执行它很容易覆盖后退按钮操作.View 3可以有很多不同的视图,我不想覆盖所有这些视图的后退按钮,并检查堆栈的前一个控制器是否是View 2 Controller.它们都具有相同的父类,因此我不能仅仅覆盖"View 3类"控制器的后退按钮.

我试过这个,所以View 2的控制器没有添加到导航堆栈中:

//Pop controller from stack before pushing
[self.navigationController popViewControllerAnimated:YES];
[self.navigationController pushViewController:controller animated:YES];
Run Code Online (Sandbox Code Playgroud)

但是一旦弹出它就会删除视图而不会推送到下一个控制器

具有相同结果的其他选项

NSMutableArray *viewControllers = [NSMutableArray arrayWithArray: self.navigationController.viewControllers];
[viewControllers removeObjectIdenticalTo:self];
self.navigationController.viewControllers = viewControllers;
[self.navigationController pushViewController:controller animated:YES];
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview uiviewcontroller uinavigationcontroller ios5

3
推荐指数
1
解决办法
3062
查看次数