zoukankan      html  css  js  c++  java
  • DELPHI XE 加载IOS framework

    1.加载static library *.a文件

    {$O-}

    function XE4_testframe: testframe; cdecl;
    external 'libtestframe.a' name 'OBJC_CLASS_$_testframe';

    2.加载动态库

    procedure XE4_AVFoundation; cdecl;
    external '/System/Library/Frameworks/AVFoundation.framework/AVFoundation';


    procedure XE4_libz; cdecl; external '/usr/lib/libz.dylib';

    {$O+}

    3.需要在deployment中输出相应的.a文件

    4.需要在tool-option 中引入需要的framework 并update

    5.普通接口定义

    testframe = interface(NSObject)
    ['{B02FE219-DEBD-4581-A33E-5F167552BF28}']
    function testfuc(value: integer): integer; cdecl;
    function uv_InitVoiceApp: integer; cdecl;
    function uv_StartVoiceListen: boolean; cdecl;
    function delegate: pointer; cdecl;
    procedure setDelegate(delegate: pointer); cdecl;
    function busy:boolean;cdecl;
    procedure setBusy(v:boolean);cdecl;
    function uv_Speak(text:NSString):boolean;cdecl;
    function IsSpeaking:boolean;cdecl;


    end;

    testframeClass = interface(NSObjectClass)
    ['{1ADAFF51-4474-47A1-8D39-723AC6680D51}']
    end;
    TTestFrame = class( TOCGenericImport<testframeClass, testframe> )
    end;

    6.delegate定义

    IOS_VoiceDelegate = interface(IObjectiveC)
    ['{3A72F24D-9B7B-4E9D-A572-F282147526D2}']
    procedure IOS_OnResult(resulttext: NSString); cdecl;
    procedure IOS_OnVolumnChanged(volumn: integer); cdecl;
    end;

    TIOS_VoiceDelegate = class(TOCLocal, IOS_VoiceDelegate)
    private
    ftestframe: Tdpftestframe;
    public
    constructor Create(frame: Tdpftestframe);
    procedure IOS_OnResult(resulttext: NSString); cdecl;
    procedure IOS_OnVolumnChanged(volumn: integer); cdecl;
    end;

  • 相关阅读:
    HDU3068 最长回文
    本周最后一天——4.18
    一周又结束了——4.14
    一本通1591:数字计数
    一本通1589:不要 62
    一本通1588:数字游戏
    洛谷P2657 [SCOI2009] windy 数
    一本通1587: 【例 3】Windy 数
    一本通1586:【 例 2】数字游戏
    安卓自动化测试(一)
  • 原文地址:https://www.cnblogs.com/HuiLove/p/4428676.html
Copyright © 2011-2022 走看看