已经提到,当在 M1 Mac 上使用 x86_64 Docker 镜像时,当没有可用的 ARM64 镜像时,该容器将在qemu仿真下启动以实现兼容性。(以性能为代价。)
很多时候,当我运行一组容器(以及针对该批次的集成测试)时,我会看到qemu-system-aarch64一些核心。
我的问题:对于给定的运行容器列表(即docker ps),我如何确定哪些是本机运行的,哪些是被模拟的?
我不知道如何解释这一个.我昨天向商店提交了我的一个应用程序的更新.第一个屏幕截图是我在iPhone 3G上运行的一个特定屏幕如何运行,运行iOS 4.2.1,从App Store下载:
下面的第二张图片是完全相同的代码,自原始提交以来没有进行任何更改,在通过Xcode连接的完全相同的设备上运行.
该应用程序运行正常在我的iPhone 4,运行iOS 5,从App Store下载.所以回顾一下:
这些不是唯一的图形不一致,但它们都与自定义的UITableViewCell代码相关,除了在每个目录中按几个像素标记之外,它没有做任何事情,并且从第一天起就一直运行良好.我已经用idp-dts提交了一份报告,我正在等待他们的回复,但由于候补名单通常是一周或更长时间,我宁愿自己解决这个问题.
任何帮助/提示/猜测将非常感谢!
iPhone 3G运行App Store版我的应用程序:

iPhone 3G运行Xcode系留我的应用程序版本:

编辑:这听起来非常类似于这个问题:使用LLVM构建和任何优化都会导致应用程序在启动时崩溃联系我的客户使用的是第二代iPod Touch,这是使用armv6的iPhone 3G以外的唯一其他硬件.
编辑2:这是设置左侧颜色条边界的代码片段.代码中似乎没有任何可疑的东西:
- (void)layoutSubviews {
CGRect colorViewFrame = self.bounds;
colorViewFrame.size.width = 6;
colorViewFrame.origin.y += 3;
colorViewFrame.origin.x -= 1;
colorViewFrame.size.height -= 8;
colorView.frame = colorViewFrame;
...
}
Run Code Online (Sandbox Code Playgroud) 我似乎在Objective-C中遇到一个奇怪的问题,将浮点数转换为NSNumber(为方便起见将其包装),然后将其转换回浮点数.
简而言之,我的一类有一个属性red,这是一个浮动0.0到1.0:
@property (nonatomic, assign) float red;
Run Code Online (Sandbox Code Playgroud)
此对象将自身与从磁盘加载的值进行比较,以进行同步.(该文件可以在应用程序之外进行更改,因此它会定期检查文件更改,将备用版本加载到内存中,并进行比较,合并差异.)
这是一个有趣的片段,其中比较了两个值:
if (localObject.red != remoteObject.red) {
NSLog(@"Local red: %f Remote red: %f", localObject.red, remoteObject.red);
}
Run Code Online (Sandbox Code Playgroud)
这是我在日志中看到的内容:
2011-10-28 21:07:02.356 MyApp[12826:aa63] Local red: 0.205837 Remote red: 0.205837
Run Code Online (Sandbox Code Playgroud)
奇怪的.对?这段代码是如何执行的?
存储在文件中的实际值:
...red="0.205837"...
Run Code Online (Sandbox Code Playgroud)
转换为float使用:
currentObject.red = [[attributeDict valueForKey:@"red"] floatValue];
Run Code Online (Sandbox Code Playgroud)
在代码的另一个点上,我能够从GDB中截取屏幕截图.它被打印到NSLog中:(这也是它在磁盘上的文件中显示的精度.)
2011-10-28 21:21:19.894 MyApp[13214:1c03] Local red: 0.707199 Remote red: 0.707199
Run Code Online (Sandbox Code Playgroud)
但在调试器中显示为:

如何在属性级别获取此级别的精度,但不是存储在文件中,还是在NSLog中正确打印?为什么它似乎变化了?
当我们使用SourceTree和我们的特定Git存储库时,我们一直看到弹出一个对话框,并显示错误消息:
"摘要"失败,代码为128:致命:无法读取树152c27e57424de6ae0df1f0d32feba7beae6e2fb
每天多次弹出错误消息.
日志中没有其他信息,我们无法在命令行上使用Git重现错误消息.当我们进行一些测试时:
Craig@DEMO-PC /d/project (major)
$ git cat-file -t 152c27e
tree
Craig@DEMO-PC /d/project (major)
$ git cat-file -p 152c27e
040000 tree 174f073109a9d0721b35e84140d0a7b29dc48ef9 main
040000 tree fb011d0153c1521441d583196a93f945dcb0df1e test
Run Code Online (Sandbox Code Playgroud)
的运行git ls-tree -r 152c27e吐出来的树,这证实它是所有的孩子src我们的Java项目的文件夹中.
此外,git fsck --full成功没有错误.对象和对象目录的形状为100%,并且没有悬空项.对象的权限似乎很好.
我们可以做些什么来仔细检查我们的存储库的状态,或尝试重现错误消息?
我有一个由现有工具生成的HTML页面 - 我无法更改此工具的输出.
不过,我想使用xmllint与--xpath选项从下载的网页挑选出的信息数的某些片段.问题是该页面以:
<html lang=en><head>...
并xmllint立即抛出错误:
html.out:2: parser error : AttValue: " or ' expected
<html lang=en><head>
^
Run Code Online (Sandbox Code Playgroud)
这个问题肯定似乎是lang属性值周围缺少的引号.整个页面都充满了这种问题.(虽然只是零星的.)
几乎每个浏览器都可以解析这个问题 - 我怎么能说服xmllint这样做呢?我想避免必须注入一个中间步骤来"修复"该文件.相反,我想要:
1)找到一个标志,验证选项等,以帮助解析器,或:
2)使用其他一些工具.(但是什么?xmllint总是我的命令行XPath命令.)
此外,仅使用xpath结果:
> xpath html.out '//myquery...'
not well-formed (invalid token) at line 2, column 11, ...
Run Code Online (Sandbox Code Playgroud) 我有一个用Swift编写的模块/框架,打算在iOS上使用.当我尝试在我的应用程序中包含框架时,我首先注意到构建阶段中有一些红色的"未找到"提示:

但是,项目构建正常 - 找到了目标依赖项,因此没有编译问题.它只是由此产生的构建框架 - 当然,在启动时,我有一个链接器错误,它无法找到图像.查看构建日志,它在这里看:
/Users/Craig/Projects/Fluffy/build/Debug-iphoneos/
Run Code Online (Sandbox Code Playgroud)
这是有道理的 - 这就是我的框架的Build Settings中定义的内容:

但是副本失败了,因为源框架不存在:
PBXCp /Users/Craig/projects/Fluffy/build/Debug-iphoneos/Fluffy_iOS.framework /Users/Craig/Library/Developer/Xcode/DerivedData/MyApp-dcjfhcnyzkwzxiejuuxqlsgajreb/Build/Products/Debug-iphoneos/MyApp/Frameworks/Fluffy_iOS.framework
...
error: /Users/Craig/projects/Fluffy/build/Debug-iphoneos/Fluffy_iOS.framework: No such file or directory
Run Code Online (Sandbox Code Playgroud)
但是,查看我的框架的构建日志,我发现它实际上是在这里结束:
/Users/Craig/Library/Developer/Xcode/DerivedData/Fluffy-fuuewsvogdkycegheyrsabkiicxc/Build/Products/Debug-iphonesimulator/Fluffy_iOS.framework
Run Code Online (Sandbox Code Playgroud)
我认为这是有道理的 - DerivedData有一段时间以来一直是任何内置产品的默认位置.
当我看一下预期的构建文件夹时,它并不多,很多都是旧的,并且它们都与Debug配置无关:

所以我的问题是:为什么我的框架被放置在DerivedData文件夹中,当它似乎要求在Build Settings中放置在build相对于项目的文件夹中?是否咨询过这些参数(按配置构建产品路径等)?
而且,我应该做些什么来调和这个?我的应用程序如何知道在框架中查找正确的DerivedData文件夹,以可扩展的方式查找正确的配置(调试与发布),并且无需手动指定它的绝对路径即可工作?
我有一个不作为应用程序运行的核心项目,它唯一的"产品"是构建和运行脚本.这个项目是在Xcode 3中创建的,并且运行良好.运行构建将运行测试脚本,没有麻烦.
升级到Xcode 4,我的脚本不再运行.我没有对该项目进行任何更改,但显然存在一些差异.我检查了构建设置,看起来脚本是管道结果/tmp/RunUnitTests.out,并且该文件的内容是:
/Developer/Tools/RunUnitTests:68: note: RunUnitTests exited without running tests because TEST_AFTER_BUILD was set to NO.
Run Code Online (Sandbox Code Playgroud)
这个TEST_AFTER_BUILD变量应该放在哪里?有没有办法在UI中找不到我找不到的,或者我是否需要在其他地方设置它?
(我假设自从Xcode 4到达Gold Master后,讨论这些东西是安全的吗?)
我正在使用Git Bash v1.8.1,带有一些别名(用于测试):
[alias]
ekko = !echo $1 && echo $1
ekko2 = !sh -c 'echo $1 && echo $1'
Run Code Online (Sandbox Code Playgroud)
但是当我运行它们时,我看到:
> git ekko master
master
master master
Run Code Online (Sandbox Code Playgroud)
和:
> git ekko2 master
(blank line)
(blank line)
Run Code Online (Sandbox Code Playgroud)
我的预期行为是:
> git ekko master
master
master
Run Code Online (Sandbox Code Playgroud)
我对别名相当新 - 我正在寻找一种方法来确保我的参数被完全消耗,而不是附加到别名的末尾.一些调查表明这种行为在Git v1.7.x附近发生了变化,我还没有确定如何完成这个:
我有一个可以为null的属性(一个Java对象)知道如何将自己转换为String,如果这个表示不为空,我想用它做一些事情.在Java中,这看起来像:
MyObject obj = ...
if (obj != null) {
String representation = obj.toString();
if (!StringUtils.isBlank(representation)) {
doSomethingWith(representation);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在努力寻找将此转换为Kotlin的最惯用的方式,我有:
with(obj?.toString()) {
if (!isNullOrBlank()) {
doSomethingWith(representation)
}
}
Run Code Online (Sandbox Code Playgroud)
但对于这样一个简单的操作,它仍然感觉太多了.我有这种感觉,结合let,when和with我可以苗条下来的东西有点短.
步骤是:
我试过了:
when(where?.toString()) {
isNullOrBlank() -> builder.append(this)
}
Run Code Online (Sandbox Code Playgroud)
但是(1)它失败了:
Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: @InlineOnly public inline fun
CharSequence?.isNullOrBlank(): Boolean defined in kotlin.text @InlineOnly public inline fun CharSequence?.isNullOrBlank(): Boolean defined in
kotlin.text …Run Code Online (Sandbox Code Playgroud) 我有一个Spring代理的服务类,如下所示:
@Service
@Transactional
open class MyService { ... }
Run Code Online (Sandbox Code Playgroud)
如果删除open修饰符,Spring会抱怨它需要代理该类以应用@Transactional注释调整。
但是,在代理服务上尝试访问变量的函数时,这会引起问题:
@Service
@Transactional
open class MyService {
protected val internalVariable = ...
fun doWork() {
internalVariable.execute() // NullPointerException
}
}
Run Code Online (Sandbox Code Playgroud)
在internalVariable被指定为它声明的一部分,没有任何注解(如@Autowired,等),和正常工作时,我删除了@Transactional注释和要求,为春季代理类。
当Spring代理/子类化我的服务类时,为什么此变量为null?
objective-c ×3
git ×2
ios ×2
kotlin ×2
xcode ×2
cocoa ×1
cocoa-touch ×1
docker ×1
html ×1
iphone ×1
macos ×1
nsnumber ×1
nullable ×1
proxy ×1
qemu ×1
spring ×1
swift ×1
tostring ×1
uitableview ×1
unit-testing ×1
visibility ×1
xml ×1
xmllint ×1
xpath ×1