首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

3分钟实现iOS语言本地化国际化(图文详解)

Key,并且需要将其值设置为YES(如下图)。...Snip20160619_15.png 我们只需要使用Foundation框架自带的NSLocalizedString(key, comment)这个宏根据Key获取对应的字符串,然后赋值给代码中的字符串...原因如下:系统根据某个key去获取对应的字符串时,如果没有找到,那么就会以key作为value返回。...也就是说,如果你的strings文件名字不是Localizable而是自定义的话,如VVS.strings,那么你就得使用NSLocalizedStringFromTable这个宏来读取本地化字符串。...(四)图片本地化 本地化图片,有两种方式,第一种方式和本地化代码中的字符串一样,通过NSLocalizedString(key,comment)来获取相应的字符串,然后根据这个字符串再获取图片。

17.6K31

使用`agvtool`自动化版本号和编译号

它存储在在应用程序的Info.plist作为CFBundleShortVersionString(版本字符串,short类型) 内部版本号标识您的应用程序的一个未发布的和发布的版本。...Target的Build Setting面板,然后更新您的所有构建配置如下 设置Current Project Version为你选择的值 Xcode项目的数据文件,project.pbxproj,...它的值是用来更新Build号。 当前项目版本的值必须是整数或浮点数,如34.6,如果是新项目必须设置为1。...,并确保你的Target的生成设置面板中包含此设置 命令行 退出xcode,然后导航到包含.xcodeproj项目文件该目录在终端应用程序的运行下列命令,该.xcodeproj项目文件包含project.pbxproj...>是一个数字如清单1中所看到你选择的.

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    UI篇- UIWebView使用大全

    1.UIWebView中使用到定位的话,APP中的 info.plist中就要设置跟定位相关的属性值。...JS方法 与UIWebView进行交互,调用web页面中的需要传参的函数时,参数需要带单引号,或者双引号(双引号需要进行转义在转义字符前加\),在传递json字符串时不需要加单引号或双引号: -(void...:@"document.documentElement.textContent"];//获取web页面内容信息,此处获取的是个json字符串 SBJsonParser *parserJson=[[[SBJsonParser...OC中给JS传参数,如何在OC中获取到JS传递过来的参数 如果要实现这样的JS和OC的数据交互,需要使用到一个第三方文件:WebViewJavascriptBridge 给web发消息 @property...UIWebView在 iOS11中的使用。 ? UIWebView 在iOS 11上 当顶部的 y值设为 0 时,是依然无法盖住UIStatusBar区域的,但是滚动时就会出现问题了。

    2K10

    iOS开发xconfig和script脚本使用详解

    Project: 显示在Project级别生效的值,往常在Xcode的General设置的值就是这一级别的。 iOS Default : 显示iOS默认设置的值。...setting(APP_NAME) 上,为此修改Info.plist中Bundle display name的值为 $(APP_NAME)。...前面我们通过info.plist获取到了.xconfig文件中自定义的变量,再次我们同样通过info.plist来获取自定义的变量的值来当做宏使用,首先在info.plist中新建一个WEBSERVICE_URL...变量,并设置值为'$(WEBSERVICE_URL)',由于需要解析info.plist中的变量,再次封装一个config.swift的类用来解析: import Foundationenum Config...,需要通过在info.plist定义后并通过方法取出值后才能使用,稍微麻烦了一点。

    2.8K10

    iOS-定位

    定位权限模块按照系统相关性分别介绍该系统下权限配置与API调用细节、注意事项与表格总结;获取定位数据模块介绍定位关键参数、单次/连续定位等;调用实践模块介绍了从 iOS8.0 - 14.0beta 系统定位权限的适配实践...对应app中不同的定位需求场景;注意:**此API不能用于申请定位权限,只能用于从模糊定位升级为精确定位;申请定位权限只能调用requestWhen或requestAlways,如果没有获得定位权限,直接调用此...如下图 -如果app默认不使用精确定位,则可以在info.plist中配置NSLocationDefaultAccuracyReduced字段,配置该字段后,申请定位权限的小地图中不在有精确定位的开关...但是如果info.plist中配置了NSLocationTemporaryUsageDescriptionDictionary,则仍可以申请临时的精确定位权限; -⚠️:测试期间使用Xcode12...本文对iOS系统定位权限说明从8.0到14.0,其中关于API调用实践是对应的最大定位权限,开发者可以根据需求参考相对应的部分。

    1.4K20

    对iOS应用中的文本进行本地化

    在不特别指明字符串文件名称的情况下,app都将从Localizable.strings中获取对应的本地化文本内容•InfoPlist.strings对应Info.plist的字符串文件。...对于这种使用了字符串插值的LocalizedString,我们需要使用字符串格式说明符,苹果的官方文档[5]为我们提供了详细的对照用法说明。...实战3:汉化App的程序名 在Xcode项目中,我们通常会在Info.plist文件中对一些特定的系统参数进行配置,比如说Bundle identifier、Bundle name等。...在最近两个版本的Xcode中,可以不直接设置Info.plist,通常在Target的Info中查看或修改值 image-20210624075411064 我们需要本地化的配置无需一定要出现在info...: "") < NSLocalizedString(rhs.name,comment: "") NSLocalizedString可以通过给定的文本键获取对应后的文本值 将InfoView中的 var

    2.2K20

    讲解cannot be registered to your development team. Change your bundle identifier t

    以下是解决方法的步骤: 步骤一:更改Bundle Identifier 打开Xcode,并在项目导航器中选择你的项目。 在项目设置中,找到“General”选项卡。...步骤三:重新构建和运行应用程序 在Xcode中点击“Product”菜单,选择“Clean Build Folder”来清理构建过程中的旧文件。 重新构建并运行应用程序。...该函数首先获取项目中的Info.plist文件路径,并将其读取为NSMutableDictionary类型的字典。...然后,我们使用setValue方法将新的Bundle Identifier值设置为字典中的CFBundleIdentifier键对应的值。...你可以将"com.example.myapp"替换为你希望使用的唯一标识符。 Bundle Identifier(包标识符)在iOS开发中是用来唯一标识一个应用程序的字符串。

    59510

    实践-小细节 III

    删除字符串中指定位置上的字符 删除字符串指定位置的字符,返回剩余的字符 deleteCharactersInRange:NSMakeRange(1,2); 删除字符串 第二位置往后2个长度的字符串。...打开xcode,在你需要检测破解的地方添加以下代码: NSBundle *bundle = [NSBundle mainBundle]; NSDictionary *info = [bundle infoDictionary...,可以放到info.plist文件中,然后在程序中可以方便的获取数据内容。...在info.plist文件中添加一个ChannelID的内容。然后指定一个值。 在程序中调用下边语句即可。...,对不起这个方法只能获取到可视的Cell,就是说,这个方法只能获取到出现了的Cell,对于没有出现的Cell,你是获取不到的 解决方法:使用CellModel,不管是获取到Cell上的数据、状态,还是对

    52120

    「WebRTC」iOS运行AppRTCMobile

    历经万苦,花了我整整三天的时间才搞定。 因此,特别写下这篇文章做个总结。另外也希望它能帮助到一些人。 获取源码 这在 WebRTC 的官方文档中已经写的非常清楚了。...修改 Info.plist 光做以上修改还是不能编译出可以在真机上运行的 AppRTCMobile 程序的。还有一件关键的事我们还没做,那就是要修改两个 Info.plist 文件。.../webrtc/sdk/objc/Framework/Info.plist 将第一个Info.plist中的CFBundleIdentifier的内容修改为你前面创建AppID为前辍的名子(如 org.youname.apprtcmobile...区别是两者内容不能一样(如 给第二个起的名子是 org.youname.framework)。...编译有两种方式,一种是通过Xcode,另一种是执行 ninja 命令。其实 Xcode 也是调用的 ninja 命令进行编译的。

    2.9K10

    如何在 SwiftUI 视图中显示应用图标和版本

    在本文中,我将展示如何创建一个可访问的 SwiftUI 视图,既能显示应用图标和版本,又能在各种文本大小和外观下看起来都很好:获取应用图标构建视图的第一步是从主包中获取应用图标。...可以通过检索应用的 Info.plist 文件中的一组键值来完成,如 Stack Overflow 上的这个答案所示:AppIconProvider.swiftimport Foundationenum...最后,我们检索 CFBundleIconFiles 数组中的最后一个值。获取应用版本现在我们有了应用图标,让我们检索应用版本字符串。...这对于用户(无论是内部测试人员还是外部用户)来说,是一种快速识别应用版本和变体的有效方法。我们通过从主包中检索 Info.plist 文件中的相关键值,获取应用图标。...接着,我们采用类似的方法,通过读取 Info.plist 文件中的 CFBundleShortVersionString 键的值,获取应用版本信息。

    20022

    xcode7中KSImageNamed-Xcode-master插件无法使用问题的解决

    xcode7中KSImageNamed-Xcode-master插件无法使用问题的解决 Xcode 升级到7之后VVDocumenter-Xcode,OMColorSense,KSImageNamed...首先查看 Xcode 的UUID,在终端执行 defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID...找到 Xcode 插件所在的目录 ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins 选择已安装的插件如:VVDocumenter-Xcode...,右键显示包内容,找到 info.plist 找到DVTPlugInCompatibilityUUIDs的项目,添加一个Item,Value的值为之前Xcode的UUID,保存. ?...如果手误点击了"Skip Bundle"的解决办法 找到该插件安装路径下,继续打开在 info.plist 删除与命令端里面同样的UUID号,一般都是会再最后一行,自己添加的那一行也要删除掉 保存之后重启

    95910

    JavaScript基础之一——语句与数据类型

    "); //如果要在同一行中写多个语句 需要用分号进行分割 最后一句语句可以不带分号 console.log('组');console.log('合')     JavaScript语言是一种对大小写十分敏感的语言...与Swift语言有些相似,但其本质完全不同,Swift语言是强类型语言,在变量声明时不指定类型的原因是Xcode工具会自动推断变量类型,并且Swift语言中的变量类型一旦确定则不能更改,JavaScript...则不然,其是根据所分配的值的类型来确定变量的类型,示例如下: //JS中的基本数据类型 //JS是动态类型语言 同一个变量可以接收不同数据类型的数据 var obj6 = 6;//数字 obj6 = "...6";//字符串      JavaScript中的字符串可以使用单引号也可以使用双引号,需要注意,如果在字符串中要引用字符串,需要交替使用单双引号,示例如下: //如果在字符串内需要引用字符串 需要交替单引号与双引号...peoples = new Array("jaki","annay","marck"); console.log(className[1]); console.log(peoples); 需要注意,数组的下标从

    58610

    【iOS开发】canOpenURL: failed for URL

    控制台输出 如图是在我启动一个 Xcode 7 + iOS 9 的 App 之后,控制台的输出。...这在 Xcode 6.4 + iOS 8 时,是不会有的情况,原因是【为了强制增强数据访问安全, iOS9 默认会把所有从NSURLConnection 、 CFURL 、 NSURLSession发出的...HTTP 请求,都改为 HTTPS 请求:iOS9.x-SDK编译时,默认会让所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求统一采用 TLS...③关于其他通过 WebView 访问 http 网址引发的控制台报错信息 Info.plist 中设置 ATS NSAppTransportSecurity 的 HTTPS,所以在你需要访问 HTTP 时, 虽 Apple 不建议,但可通过在 Info.plist 中声明如上图所示的内容,倒退回不安全的网络请求,这样依然能让

    1.3K20

    问题——持续更新

    info.plist文件中,将Supported interface orientations  的所有item项设置为Portrait.    ?...:在程序中怎么去实现 应用图标怎么添加 插件:  空工程 一些方法为什么总是调用不到,如创建在视图控制器中创建单元格???   ...设置应用图标: 需要在Info.plist里设置,添加key为Icon files的值,分别添加上面对应图标名称,到列表,例如: ? 怎么解决标签栏隐藏时,画面不和谐的情况?...如何获取全屏图片用于上传   command+S 10.4 新加: 为ViewController添加导航控制器(xcode6中将自动设置为根视图控制器)?...Post 用系统自带的和第三方库的区别   请求体???     答:系统中的请求体是一个拼接起来的字符串,第三方AF中的参数是一个字典. 如何查看即将输出的数据的数据类型?

    1.3K20

    Flutter iOS 混合工程自动化

    期望 Flutter默认的混编方式:不光依赖于flutter工程中的flutter产物,还依赖于flutter SDK中的xcode_backend.sh脚本。...整个文件会被引入到iOS工程的各个*.xcconfig配置文件中。这些配置信息,在xcode runscript中引入的flutter编译嵌入脚本xcode_backend.sh中会使用到。...』的代码,如#include '......image.png 混编方案 方案大概的解决方法就是: 完全脱离Flutter环境:(图中实线流程部分) 利用脚本将所有的依赖编译结果从Flutter工程中剥离出来,放到iOS工程目录下。...如iOS的dev对应Flutter的dev,齐头并进,版本管理上就会简单的多。 但是同样会有Flutter依赖更新不及时等这些其他问题,有待进一步调研和实践。

    1.6K40

    兼容-记录Xcode8.0恢复插件全过程

    ---- Xcode8为什么禁止外来插件 我们可以看到在Xcode8中支持了开发插件工程,并且为我们提供了一个插件模板,开发的插件可以上传到App Store下载。...插件的工作原理 让我们首先了解下,插件是怎样在Xcode中其作用的。...通过 Show Content 可以看到 xcplugin 中存在一个 Info.plist,其中有一项为 DVTPlugInCompatibilityUUIDs,而这就是插件失效的原因。...由于 Apple 没有公开插件开发的相关资料,这里我只能通过命名跟值猜测 DVTPlugInCompatibilityUUIDs 的作用:插件通过 DVTPlugInCompatibilityUUIDs...因此,DVTPlugInCompatibilityUUIDs 中存放的是 Xcode 版本对应的 UUID,Xcode 在启动加载控件时,将当前 UUID 同插件 Info.plist 中 DVTPlugInCompatibilityUUIDs

    1.2K20

    macOS 应用公证 - 让用户信赖你的应用

    为什么要对应用进行「公证」从 macOS 10.15 之后,苹果系统要求App和工具需要进行工具才能正常的安装,不然会报“未知开发者应用,移除到废纸”,2020 年 1 月之后的公证也变得更加严格。...官方使用 app-specific passwords 介绍以 Xcode 发布方式下的公证App 形式的公证可以直接在 Xcode 的发布中完成,在 Xcode 的 Product 菜单栏中点击 Archive...,在命令行中你将需要输入profile name 和 app-specific password ,成功后将会看到以下信息:图片如果不确定 --team-id 的值,可以使用命令xcrun altool...编译注意事项项目用开发者证书进行编译图片开启 Enable Hardened Runtime图片Info.plist 文件- 关联 Info.plist 并且在 二进制的文件中创建 Info.plist...的 Section 段图片- 在 Info.plist 中添加Bundle 相关信息图片timpstamp往二进制文件中打入 timpstamp 字段。

    4K130
    领券