我正在尝试使用iPhone模拟器来分析我的代码.我启用了生成测试覆盖率文件和仪器程序流程,并将-lgcov添加到链接器标志.根据我读过的所有内容,应该是我在设置方面需要做的所有事情.
更新:生成测试覆盖率文件触发-ftest-coverage标志,仪器程序流触发-fprofile-arcs标志.我检查了构建日志,并在编译时设置它们.
执行程序我可以看到.gcno文件出现在旁边.o build/.build/Debug-iphonesimulator/.build/Objects-normal/i386目录中的编译代码.
但是当我在模拟器中运行应用程序时,我没有出现任何*.gcda文件.
我的理解是这些文件包含来自仪器的数据.但我无法在计算机上的任何地方找到它们.
我知道它们可以生成并出现在*.gcno文件旁边,因为我有一个旧的已删除的构建目录,它有它们.我无法弄清楚我必须做些什么来让它们出现并记录下来.
任何帮助赞赏.
我最近选择了一个相当讨厌的构建过程的项目.JAXB读取手工编码的XSD模式以生成类和工厂的Java模型,该模型用于手工编码的Java Web服务类(带注释),然后将其部署到服务器,该服务器用作读取完整的源的源WSDL来自以生成第二个基于Java的模型,该模型包括用于客户端程序的完整WSDL的服务和工厂类.
这听起来很糟糕,我认为我不需要它如此复杂,所以在某些阶段我想把这一切都扔掉,或者
无论哪种方式,我想最终得到一个服务器和客户端都可以使用的模型的源代码库,并且对于模型应该具有一个"真实来源",在那时我觉得我有几个.
目前我倾向于第二种选择,但你会选择哪种?你会使用哪些技术?
我们的应用程序中有很多Web视图,我最近添加了一个NSURLProtocol来拦截它们的一些请求.
我注意到一些Web视图多次调用+ [NSURLPRotocol canInitWithRequest:]方法,看起来是完全相同的请求.有时6或7次.我想弄清楚为什么会发生这种情况.
有人对这个有经验么?我已经注销了[NSURL absoluteString]和httpMethod值,它们对于每个请求都是相同的.我希望这个方法只能为服务器所需的任何给定文件或资源调用一次,而不是多次.它似乎每个网页都有所不同.
有任何想法吗?
使用Xcode 7B4和Server 5B4与Carthage项目.要构建项目,我需要首先构建它的依赖项.所以我使用以下代码向bot添加了Before Integration步骤:
echo "Bootstrapping dependencies..."
export PATH=$PATH:/usr/local/bin
cd Alchemic
carthage bootstrap --use-ssh --use-submodules
echo "Ready."
Run Code Online (Sandbox Code Playgroud)
自己运行一切都有效.但是当机器人运行时,我得到了这个:
CodeSign错误:未找到代码签名身份:未找到有效的签名身份(即证书和私钥对).
CodeSign错误:SDK'iOS 9.0中的产品类型'Framework'需要代码签名'
shell任务失败,退出代码为65
检查机器人我自己作为团队并扫描服务器目录它似乎具有所有必需的配置文件.所以我猜测服务器的用户无法访问密钥或类似的东西.
有谁知道我可能会缺少什么?
我有一台本地运行的服务器(我的IP是192.168.0.98),并且已经尝试使用一些网络代码来访问它.最初这是通过AFNetworking完成的,但我现在用以下方法完成NSURLSession:
NSURLSession *session = [NSURLSession sharedSession];
NSURL *url = [NSURL URLWithString:@"http://192.168.0.98:8080/api"];
NSURLSessionDataTask *task = [session dataTaskWithURL: url
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSLog(@"Error: %@", error);
NSLog(@"Body: %@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
}];
[task resume];
Run Code Online (Sandbox Code Playgroud)
然后我用这3个URL运行它:
http://localhost:8080/api - >工作. http://127.0.0.1:8080/api - >工作. http://192.168.0.98:8080/api - >失败并出现错误:
Error Domain=NSPOSIXErrorDomain
Code=2 "No such file or directory"
UserInfo={
NSErrorFailingURLStringKey=http://192.168.0.98:8080/api,
NSErrorFailingURLKey=http://192.168.0.98:8080api,
_kCFStreamErrorCodeKey=2,
_kCFStreamErrorDomainKey=1
}
Run Code Online (Sandbox Code Playgroud)其中192.168.0.98是分配给本机的IP.如果我从PAW或浏览器运行这些URL,它可以正常工作.但是从单元测试中它失败了.
从我的项目的角度来看,我可以使用localhost.所以这不是交易破坏者.但我很好奇它为什么不起作用.
有谁知道问题可能是什么?
尝试使用SDK3.2编译iPhone/iPad应用程序并收到此错误:
Undefined symbols:
"_main", referenced from:
Start in crt1.10.5.o
Symbol(s) not found
Collect2: Id returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我认为它告诉我,它试图使用另一个SDK的代码,但搜索网络没有提供任何明确的答案.
任何人都可以指导我这个以及寻找什么?
我有一个数据情况,我想使用索引路径.当我遍历数据时,我想增加NSIndexPath的最后一个节点.我到目前为止的代码是:
int nbrIndex = [indexPath length];
NSUInteger *indexArray = (NSUInteger *)calloc(sizeof(NSUInteger),nbrIndex);
[indexPath getIndexes:indexArray];
indexArray[nbrIndex - 1]++;
[indexPath release];
indexPath = [[NSIndexPath alloc] initWithIndexes:indexArray length:nbrIndex];
free(indexArray);
Run Code Online (Sandbox Code Playgroud)
这感觉有点,嗯,笨重 - 有更好的方法吗?
我正在尝试像这样的SwiftUI和Slider控件:
struct MyView: View {
@State private var value = 0.5
var body: some View {
Slider(value: $value) { pressed in
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图Slider在用户拖动它时从中获取连续更新,但是似乎它仅在值更改结束时更新值。
有人玩过这个吗?知道如何让SwiftUI滑块发布价值变化流?结合起来?
我正在弄乱一个网格,我希望第一列缩小到内容的宽度,第二列填充剩余空间。使用 IB 和布局约束这类事情相对简单,但它让我在 SwiftUI 中陷入困境。
基本上我有这样的代码:
@State var sliderValue1: Float = 0.5
@State var sliderValue2: Float = 0.25
var body: some View {
let col1 = GridItem(alignment: .leading)
let col2 = GridItem()
LazyVGrid(columns: [col1, col2]) {
Text("Short").border(Color.green)
Slider(value: $sliderValue1, in: 0.0 ... 1.0, step: 0.25).border(Color.red)
Text("Rather long").border(Color.green)
Slider(value: $sliderValue2, in: 0.0 ... 1.0, step: 0.25).border(Color.red)
}
.border(Color.blue)
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,两列的大小相同,这不是我想要的。我想做的是将第一列的宽度缩小到“相当长”标签的宽度。我无法使用指定尺寸.fixed(...),并且尝试了各种.flexible(...)定义但没有成功。
有人有一个可以调整大小以适应内容的专栏吗?
我有一个错误,我正在呈现NavigationStack模态 ( .sheet(...)) 并且推入堆栈的第一个视图无法设置动画。但是,如果我随后推送更多视图或弹出回来,它就会按预期进行动画处理。它似乎与视图模型中的堆栈路径相关@Publish,因为如果我将路径作为@State视图中的属性,它就可以正常工作。
在此 gif 中,您可以看到,当 View2 第一次出现时,它没有动画,但随后它就会动画。
\n\n这是生成上述 gif 的代码,我很感兴趣是否有人遇到过这种情况,并且有一个将路径保留在视图模型中的解决方案。
\n//\n// Copyright \xc2\xa9 Derek Clarkson. All rights reserved.\n//\n\nimport SwiftUI\n\nstruct ContentView: View {\n\n @State private var showModal = false\n\n var body: some View {\n Button("Show modal") {\n showModal = true\n }\n .sheet(isPresented: $showModal) {\n View1(viewModel: ViewModel())\n }\n }\n}\n\nenum Path {\n case view1\n case view2\n case view3\n}\n\nclass ViewModel: ObservableObject {\n @Published var path: [Path] = []\n func next() {\n …Run Code Online (Sandbox Code Playgroud) ios ×4
swiftui ×3
iphone ×2
objective-c ×2
xcode ×2
bots ×1
carthage ×1
gcov ×1
ipad ×1
java ×1
java-ee ×1
networking ×1
nsindexpath ×1
nsurlsession ×1
profiling ×1
soa ×1
swift ×1
uiwebview ×1
web-services ×1
wsdl ×1
xcode-server ×1