我有一些应用程序作为.pkg使用pkgbuild和创建的文件分发productbuild。使用 macOS Catalina,这不再起作用。安装程序抱怨我正在尝试将内容安装到系统卷。
三周前我发帖认为该错误与捆绑 Java 运行时有关。事实证明它与Java无关。
为了测试它,我有一个最小的名为 Hello 的项目,它有一个主窗口和一个单击按钮。在 XCode 中,我执行 Product -> Archive,然后 Distribute App 和 Copy App。这将创建一个Hello 2019-12-18 15-01-07包含内容的目录Hello.app。该应用程序运行良好。然后我
pkgbuild --root *7 Hello.pkg
创建了Hello.pkg.
当我在查找器中双击 Hello.pkg 时,安装程序会向我显示介绍、目标选择(仅提供一个选项)和安装类型(“Macintosh HD 上的标准安装”)屏幕,然后询问我的密码。然后它会说:“此软件包与此版本的 macOS 不兼容。该软件包正在尝试将内容安装到系统卷。请联系软件制造商寻求帮助。”
如果我共同设计和公证没有区别。Productbuild 只为失败的过程增加了一层。
我错过了什么?
我有一个 MacOS Swift 应用程序,可以处理从麦克风录制的音频数据。麦克风具有立体声功能,但我只能录制单声道数据。
在下面的代码中,如果 I let alwaysMono = true,则 func setup() 报告活动格式是立体声,但将其覆盖为单声道。一切都适用于单声道输入流。
如果 I let alwaysMono = false,则 setup() 将 nChannels 设置为 2。但 captureOutput 不会获得任何数据。从 UnsafeMutableAudioBufferListPointer 返回的 AudioBuffer 总是有一个 nil mData。如果我不检查 nil mData,程序就会崩溃。
如何获得完整的立体声输入?
编辑:在 captureOutput 中,CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer 返回错误代码 -12737,对应于 kCMSampleBufferError_ArrayTooSmall。我检查了传入 captureOutput 的 sampleBuffer arg,我看不出它有任何明显的错误。但我不知道该找什么。
另一个编辑:我用内置单声道麦克风测试了我的代码,令我惊讶的是它认为它也是立体声,这表明我获取和使用 AVCaptureDevice.activeFormat 的方式显然有问题。我不知道从这里去哪里。
class Recorder: NSObject, AVCaptureAudioDataOutputSampleBufferDelegate {
let alwaysMono = false
var nChannels:UInt32 = 1
let session : AVCaptureSession!
static let realTimeQueue = DispatchQueue(label: "com.myapp.realtime",
qos: DispatchQoS( qosClass:DispatchQoS.QoSClass.userInitiated, relativePriority: 0 ))
override …Run Code Online (Sandbox Code Playgroud) 我正在尝试jpackage为我的 Java 应用程序创建安装程序。我在 Windows 10 上使用 OpenJDK 15.0.1。我可以使用构建安装程序
jpackage --input C:\MyApp --main-jar MyApp.jar
Run Code Online (Sandbox Code Playgroud)
这基本上可以工作,但是安装的应用程序缺少资源文件。根据文档,我应该能够构建应用程序映像,将资源文件添加到映像中,然后从修改后的应用程序映像构建安装程序,如下所示
jpackage --type app-image -n MyAppImage
copy <resource files> MyAppImage
jpackage --app-image MyAppImage --name MyAppInstaller
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试时,jpackage --type app-image该进程永远不会终止,我必须使用 control-C 终止它。当我检查该MyAppImage目录时,它有一个子目录app,它或多或少地反映了C:\MyApp. 这些内容包括MyAppImage,它递归地复制到app子目录中,创建一组可能无限的目录:C:\MyApp\MyAppImage\app\MyAppImage\app\MyAppImage...
如果我手动删除app\MyAppImage并尝试jpackage --app-image,jpackage 会因 java.io.IOException 崩溃。
有人遇到过这种情况么?我应该尝试什么?