processName属性是Playground文件的名字,因此只要你已经在Playground数据共享文件目录下以相同的名字新建了
一个子目录,那么你可以很容易访问这些数据,和读取本地JSON数据一样:
....或者访问本地图片
Please attention!本篇文章剩余的部分来自Cédric Luthi大神的贡献,他分享了一些比较有用的开发技巧和技术,这些
内容足够自成一篇,值得细细品读。这里再次感谢Cédric!
CocoaPods大揭秘大揭秘
这儿有一个快速的方法来检查APP里用到的所有pods:
CREATE_INFOPLIST_SECTION_IN_BINARY
注意Xcode中为命令模式APP(command-line apps)设置的CREATE_INFOLIST_SECTION_IN_BINARY属性。这比
使用-sectcreate__TEXT__info_plist链接标志位更加容易,前者还把已经编译好的Info.plist文件嵌入在二进制编码中。
关于如何向苹果提需求,它也给我们上了一课,这个特性需求早在2006年的 rdar://4722772 被提出,但直到7年后才
被满足。
(译者注:言外之意是它是反面教材,应该更有技巧的提需求)
禁用禁用dylib钩子钩子
Sam Marshall这个技巧可谓是走自己的路,让黑客无路可走。
在你的“Other Linker Flags”里加上下面这行:
NSBundle -preferredLocalizations
某些时候,你需要知道APP当前使用的是什么语言。通常,大家会使用NSLocal+preferredLanguages. 可惜的是这个
方法不会告诉你APP实际呈现的文字语种。你仅仅会得到iOS系统里“Settings->General->Language&Region-
>Preferred Language”列表中的选项,或者OSX系统里“System Preferences->Language & Region->Preferred
Languages”列表中的选项。想象一下:优先语言列表中只有{英语,法语},但你的APP仅使用德语;调用[[NSLocal
preferredLanguages] firstObject]返回给你的是英语,而不是德语。
正确的方法是用[[NSBundle mainBundle] preferredLocalizations]方法。
苹果的开发文档是这样说的:
一个包含了在bundle中本地化的语言ID的NSString对象的数组,里面的字符串排序是根据用户的语言偏好设置和可使
用的地理位置而来的。
NSBundle.h里的备注:
一个bundle中本地化的子集,重新排序到当前执行坏境的优先序列里,main bundle的语言顺序中最前面的是用户希望
在UI界面上看到的语种。