即时使用Delphi 10.1 Berlin
在IOS手机上运行PhoneDialer示例
Embarcadero \ Studio \ 18.0 \ Samples \ Object Pascal \ Mobile Snippets \ PhoneDialer
应用程序在启动时崩溃 如果我在调试模式下运行即可获得此错误
调试器异常通知
Project PhoneDialer引发了异常类EObjectiveC,其中包含消息' ObjectiveC类无法找到CTCallCenter'。
它看起来像是在发生在
FMX.PhoneDialer.iOS 单位
constructor TCocoaPhoneDialerService.Create;
begin
FCallCenter := TCTCallCenter.Create; // <<<----- blowing up here
FCallCenter.retain;
FCallCenter.setCallEventHandler(DoChangeCallState);
end;
有没有人有任何建议?
如果你可以让样本工作,你可以包括实现它的所需代码:)
作为旁注 - 德尔福10.0西雅图运行相同的样本似乎工作正常
答案 0 :(得分:0)
这个解决方案来自Sergey Krasilnikov 如果您有登录信息,可以在https://quality.embarcadero.com/browse/RSP-15128查看 我还没有尝试过确认它是否有效
从中复制iOSapi.CoreTelephony.pas
C:\ Program Files(x86)\ Embarcadero \ Studio \ 18.0 \ source \ rtl \ ios
到您的项目文件夹
按以下方式修改:
implementation
uses
Posix.Dlfcn;
var
CoreTelephonyModule: THandle;
const
CoreTelephonyFwk: string = '/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony';
和
initialization
CoreTelephonyModule := dlopen(MarshaledAString(libCoreTelephony), RTLD_LAZY);
finalization
dlclose(CoreTelephonyModule);
end.
再次构建项目