我正在尝试编译一个使用的程序cabarc.exe,但我没有cabarc.exe.问题是Microsoft Cabinet SDK不再可用,所以我也无法从那里获得它.
我在哪里可以获得这个文件?
PS我正在寻找一个可靠来源的下载,如microsoft.com
所以,我已经掌握了现有的项目,并且我正在尝试使用apple提供的这个新的花哨UI测试包来创建一些UI测试.问题是测试目标无法访问任何外部框架(我需要使用其中一个进行一些设置).在构建阶段添加框架和从主目标中复制框架搜索路径不会做任何事情.
经过一天的浏览,我发现只有一件事,那就是"让事情变得有点不同".通过将Bundle Loader和Test Host设置为$(BUILT_PRODUCTS_DIR)/App.app/App,我仍然无法将外部框架导入test.m,但我可以导入为他们自己执行此操作的类.除非没有破坏某些东西,否则一切都会好起来的.通过设置Bundle和Host,我的UI测试无法执行启动方法:
[[[XCUIApplication alloc] init] launch];
Run Code Online (Sandbox Code Playgroud)
它崩溃并出现错误:断言失败:UI测试失败 - 应用程序状态仍未终止.
最后,我可以从设置中删除启动方法并手动触发每个单独的测试,因此每次执行前都会重新启动应用程序,但这个解决方案似乎错了(特别是对于一些较大的项目).有谁知道处理这个问题的正确方法?
我正在开发一个iOS项目,我需要从UI测试目标访问主机应用程序的代码,但我发现它显示链接错误:我尝试时未定义的符号.我发现这个目标的测试主机和捆绑加载器都是空的,所以我将它们设置为我的主机应用程序并且可以通过链接错误.但是,在运行时,调用XCUIApplication.launch()时仍然会失败.有没有人想出如何从这个UI测试目标访问主机应用程序的代码?如果不能这样做,我们就不得不进行所有UI测试,这是非常不稳定的.我们肯定需要在测试场景中使用非UI步骤.我正在使用Swift作为我的项目.
假设我在Swift中定义了一个泛型类,类似于以下内容:
class MyArray<T> {
func addObject(object: T) {
// do something... hopefully
}
}
Run Code Online (Sandbox Code Playgroud)
(我知道有一个稍微好一点的数组实现,这只是一个例子.)
在Swift中,我现在可以非常轻松地使用这个类:
let a = MyArray<String>()
a.addObject("abc")
Run Code Online (Sandbox Code Playgroud)
使用Xcode 7,我们现在在Objective-C中有泛型,所以我假设我可以在Objective-C中使用这个类:
MyArray<NSString*> *a = [[MyArray<NSString*> alloc] init];
[a addObject:@"abc"];
Run Code Online (Sandbox Code Playgroud)
但是,MyArray永远不会添加到我的Project-Swift.h文件中.即使我将其更改为从NSObject继承,它仍然不会出现在我的Swift.h文件中.
有没有办法创建一个通用的Swift类,然后在Objective-C中使用它?
更新:如果我尝试从NSObject继承并使用@objc注释:
@objc(MyArray)
class MyArray<T>: NSObject {
func addObject(object: T) {
// do something... hopefully
}
}
Run Code Online (Sandbox Code Playgroud)
我得到以下编译器错误:
'@objc'类的通用子类不能具有明确的'@objc'属性,因为它们不能直接从Objective-C中看到.
这是否意味着无法在Objective-C中使用通用的Swift类?
如何直接引用该类?
在构建 Apple App Site Association 文件(AASA 或apple-app-site-association文件)时,很容易出错。这就是 Apple 构建“ App Search API 验证工具”(ref1、ref2)的原因。
这似乎于 2022 年 6 月在https://search.developer.apple.com/appsearch-validation-tool/上提供。然而,该网站现在重定向到有关通用链接的通用页面。
我想使用 Apple 的工具来验证我的 AASA 文件,因为当我在 App Store Connect 中选择构建时,它显示我的 AASA 文件存在问题:
域名状态:1 个无效域名
缓存状态:无法访问 AASA 文件
调试状态:无效权利:未知 ID
如何访问 Apple 的 App Search API 验证工具?
我知道有第三方 AASA 验证者:
...但是,这些不是由 Apple 构建的,因此可能不如 Apple 的工具那么彻底。举个例子,我的 AASA 文件在这两个网站上都成功,尽管它在 App Store Connect 上失败了。
ios ios-universal-links app-store-connect apple-appclips apple-app-site-association
这个类似问题的答案都需要保存文件.但是,我正在尝试转换文件,然后将其复制到剪贴板.
如何将位图(或任何图像)转换为PNG而不将其保存到文件系统?
更新:
我正在尝试将图像粘贴到应用程序中(在本例中为Evernote).当您将图像复制到剪贴板(例如通过浏览器)时,它会记住它的图像格式,当您将其粘贴时,它将创建具有相同格式的图像.例如,如果您复制PNG,它将粘贴PNG.如果您复制JPG,它将粘贴JPG等.
我正在尝试拍摄当前在剪贴板中的任何图像,将其缩放到我想要的大小,然后将其作为PNG保存在剪贴板中,这样当它粘贴到Evernote时,它将创建一个PNG.
当我在浏览器中复制一个PNG图像,我看到下面的格式:HTML FORMAT,CF_BITMAP,CF_DIB,CF_DIBV5.我不确定这些Evernote中哪一个用于粘贴.我的印象是CF_BITMAP,但在阅读下面的评论后,我猜它正在使用其他格式之一.
如何将图像放在剪贴板中,粘贴时将其视为PNG?
我正在创建一个新视图并决定使用一个 xib 文件,以便我可以在 Interface Builder 中设计它。
我将 Size 设置为 Freeform,并在 Size 检查器中调整它的大小。
但是,无论我制作什么尺寸的视图,它仍然显示主页按钮指示器(底部的黑条):
这妨碍了我设计视图。我该如何摆脱它?
我安装了Mogenerator.现在我该怎么办?我该如何使用它?
我遇到的第一个问题是我不知道它安装在哪里.在安装过程中,它只允许我选择要安装它的硬盘驱动器,而不是目录.最自然的位置是Applications文件夹,但它不存在.
接下来,自述文件(我在网上找到)说明:
通过注意保存*.xcdatamodel时,Xmo会工作.如果模型文件的Xcode项目项注释包含xmod,则会触发AppleScript,根据模型的文件名创建一个文件夹,并使用模型中的派生源代码文件填充它.然后,它将新文件夹作为组参考添加到项目中,并将所有源文件添加到项目中.
上述陈述有几个问题尚不清楚:
.xcdatamodel文件是使用mogenerator的唯一方法吗?有没有办法我可以手动运行mogenerator,以便重新生成生成的文件?在运行Xcode UI测试时,我想知道正在使用哪个设备/环境(例如iPad Air 2,iOS 9.0,Simulator).
我怎样才能获得这些信息?
ios ×6
xcode7 ×3
objective-c ×2
swift ×2
xcode ×2
.net ×1
c# ×1
cab ×1
clipboard ×1
core-data ×1
download ×1
generics ×1
in-memory ×1
install ×1
installation ×1
iphone-x ×1
mogenerator ×1
plugins ×1
testing ×1
ui-testing ×1
unit-testing ×1
xib ×1