【发布时间】:2021-05-14 06:11:46
【问题描述】:
多年来我一直使用SDKtransform(通过“SDK Transform Assistant”执行)来实现不包含在Delphi 中的iOS 和OSX 框架。
但是,越来越多的类无法转换并且未包含在输出的 .pas 头文件中。现在我需要在 MacOS 11 (Big Sur) 中将 AVAudioEngine 从 AVFoundation 转换,但是 SDKtransform 失败并在日志中添加了很多这些行:
"WARN: cannot add ObjCInterface AVAudioEngine - base class unknown"
这些可能是由于它的定义方式造成的吗?
API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
@interface AVAudioEngine : NSObject {
@private
void *_impl;
}
- (instancetype)init;
- (void)attachNode:(AVAudioNode *)node;
- (void)detachNode:(AVAudioNode *)node;
...
@property (readonly, nonatomic) BOOL isInManualRenderingMode API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0));
...
@end // AVAudioEngine
如何自动转换这种类型的标头定义?
【问题讨论】:
-
看起来 Git repo 已经超过 5 年没有看到提交了。 BitBucket 上似乎托管了一个更新的版本:bitbucket.org/JunHosokawa/sdktransformassistant/src/master
-
好的,谢谢,我去看看。但是,这个项目只是给Delphi附带的SDKTransform.exe添加了一个GUI,而我得到的实际错误消息是从SDKTransform输出的。
-
我尝试了新版本,但它似乎不起作用。它调用 SDKtransform,它立即返回有关其参数的说明。看起来当前版本的转换助手没有处于运行状态? @Brian你成功使用了吗?
标签: delphi firemonkey