tencent cloud

文档反馈

iOS 自定义能力

最后更新时间:2023-05-09 11:22:11
    本文主要介绍海外版慧眼 SDK 当前所具备的自定义的能力

    一、自定义 UI

    本文主要介绍如何使用自定义UI,定制慧眼识别页面以及图标。

    构建步骤

    1. SDK压缩包解压后,进入demo目录,打开HuiYanODemo项目。
    2. 切换构建secheme到UserUIBundle,command+B可以构建出产物。
    image-20230110144645956
    
    
    3. 构建出bundle后右键查看包内容,打开info.plist,删掉“Executable file”字段,否则会影响AppStore上架,导致上传IPA报错。也可以将info.plist文件删掉。
    
    image-20221219151658429
    
    
    4. 将构建产物直接替换掉根目录SDK目录下的UserUIBundle.bundle,将该目录下所有lib和bundle添加到自己的项目中(注:若没有修改bundle内容,可不进行替换,直接使用该目录下的bundle即可)。
    image-20230110144900946
    
    

    自定义内容

    1. 图标Icon。可以将Icon替换到以下列表,命名要保持原有命名。
    
    image-20230110144933817
    
    
    2. xib内布局调整。如TXYOsAuthingViewController 识别页面,可以修改xib内组件的布局,增加静态组件,但是不允许删除组件。该页面逻辑由SDK内部.m文件完成,仅支持修改布局和增加无逻辑组件(如增加背景图)。
    
    image-20230110145052550
    
    
    3. 通过设置userUIBundleName字段设置到SDK中
    这个设置了会使用自定义打包的UI bundle 文件,会加载里面这个名称的TXYOsAuthingViewController布局文件 若是未找到TXYOsAuthingViewController 名称的布局文件,将会加载默认布局。

    二、自定义语言

    添加自定义语言

    1. demo中UserUIBundle文件夹中包含Localizable。下图中右侧可设置支持的语言类型,对应左侧会出现子文件,在子文件中对已有的key字符串做多语言映射。
    
    image-20230215192445766
    
    
    2. 若右侧没有目标语言可先对工程设置里添加对应语言,之后重复步骤1即可
    
    image-20230215192602327
    
    
    3. 对目标文件进行翻译映射。下图示例为简体中文的映射,若添加其他语言左侧key保持不变,右侧为译文即可。
    
    image-20230215192714407
    
    
    4. SDK中设置为:
    customerConfig.userLanguageBundleName = @"UserUIBundle";
    customerConfig.userLanguageFileName = @"en.lproj";
    userLanguageFileName可以查看编译出的bundle文件中对应的文件名
    
    image-20230215193116760
    
    

    设置自定义SDK语言

    1. 将自定义UseLanguage.bundle添加至项目中(Copy Bundle Resources)
    
    image_1
    
    
    2. 配置设置如下:
    HuiYanOsConfig *config = [[HuiYanOsConfig alloc] init];
    config.languageType = CUSTOMIZE_LANGUAGE;
    config.userLanguageFileName = @"ko";//例:设置 ko.lproj
    config.userLanguageBundleName = @"UseLanguage";//自定义打包bundle名称 例: UseLanguage.bundle
    若config.languageType = DEFAULT;则会从自定义Bundle找该地区的语言文件,若是未找到则默认为en。

    维护方式

    将Demo工程作为自定义UI的工程,通过修改Demo工程里的bundle源文件,然后构建bundle接入自己项目。缺点需要自行维护Demo工程。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持