触动精灵 PLIST 文件读取 操作方法很简单。
读取的table有时根本无法完整打印。也没有详细的解决方案。
我给大家解释一下PLIST 转换成taale之后的所有类型
local ts = require("ts")
local plist = ts.plist
--设置 plist 路径
local plfilename = "/var/mobile/Library/Caches/com.apple.mobile.installation.plist"
--读取 PLIST 文件内容并返回一个 table
local tmp2 = plist.read(plfilename)
假设tmp2是返回的table
<key>number</key><string>123456</string> 关键字key,可以利用tmp2.number提取出string里面的内容
<array> 说明是一个数组可以用数组提取里面的任意数据。比如tmp2[0],tmp2[1]等。
有时候无法通过下标来获取数据,需要写入具体的key值。
比如tmp2["$object"] 这里面的 $object不是指一个变量而是字符串
需要特别注意的是
如果数据里面有<data>这个关键字,直接提取是无法正确提取出来的。
Data<|:|>aabbccdd
他的格式是这样的这里面的数据是经过base64编码的所以无法正确显示。需要转码一次
b=tmp2["$objects"][3]
--b无法正确显示
dialog(b)
local ts = require("ts")
local msg = b
local emsgb64 = msg:base64_encode()
dialog(emsgb64)
--因为这个代码我賺了300块钱。开心
如果你想查看这个table的具体的值,可以通过加入断点进入调试模式,查看堆栈。
里面的t 就是读取的plist 返回的table表
如果我需要data里面的数据则需要使用
t["$objects"][3] 这个变量
但是还是无法正常显示的需要对他进行转码。
如果文章有帮到您,帮我点个赞吧。原创不易。