在使用Il2CppDumper的时候碰到了问题
# il2cppdumper版本:Il2CppDumper-v6.7.25# Unity版本:2020.3.26f1
# 问题描述:
- 我在unity上打包一个文件如图所示:在打包前我点击了player settings并且在Player里选择脚本后端并设置为il2cpp,target SDK设置为Device SDK,其他选项不变。
- 设定结束后我将环境选择为IOS,回到build setting界面点击build打包。
- 将打出的文件放到了MacOS系统下,另外在App Store上下载Xcode,如图所示打开前面打包后的文件,用Xcode打开Unity-iPhone.xcodeproj 文件。!(question_asset/Build%20Document.png)
- 我在Apple开发者官网上申请了开发者账号后在Xcode上登录:在Archive打包前在Xcode的preference里登录该账号,点击左下角的加号添加账号
-
-
- 然后在开发者界面添加了certificates和provisioning profile。首先在[苹果开发者官网](https://developer.apple.com/)登录开发者账户,进入账户界面后选择创建证书
- 在下一步选择Apple Develpe 进入下一界面需要我上传一个CSR文件我回到mac系统里打开钥匙串访问,在证书助理中选择“从证书颁发机构请求证书”:
- 在接下来出现的页面中随便添加一个邮箱以及选择“存储到磁盘”就可以得到相应的CSR文件
- 返回到开发者界面把该文件上传就能得到相应的证书,在开发者界面下载证书文件后讲证书添加到钥匙串中
- 在添加之后要讲该证书添加信任(每一个证书添加都添加信任)
-
-回到开发者官网页面,点击左侧“Profiles”开始配置Provisioning Profile证书
-在界面中选择IOS App Development
-下一界面中要选择之前设置的开发者账户以及填上我之前编写的文件上的Bundle ID(在Unity上编译时可以找到该ID),如图所示:
-
-
-
-回到开发者界面后就能在Identifies看到注册好的Provisioning Profile
-
-然后在开发者界面点击左侧的Profile,进入后在Select an App ID这里选择刚才设置的ID:
-
-下一步里我选择要应用的账户和应用
-
-接着是添加打包的Device的UDID,可以在Xcode上找到该ID
-
-
-最后点击注册,设备信息上传完成
-
-下载该证书
-
-
-回到Xcode,在文件栏里选择“Signing&Capabilities”,选择“Automatically manage signing”会自动配置打包设备以及证书,之后点击“Product”选择“Archive”打包
-
-
-进入下一界面后点击Distribute,在选择打包类型时我选择了Ad Hoc,然后一路Next
-
-
-
-最后Export该文件,这个文件即是需要的IPA文件
-
- 之后我将该文件放入windows系统,解包后得到的文件夹中得到il2cppdumper需要使用的“无后缀的可执行二进制文件”和“globalmeradata.dat”,如图所示:
- 在得到这两个文件后打开il2cppdumper-v6.7.25,按照弹窗顺序输入可执行文件与.dat文件,如图所示:
- 输入上述两个文件后,il2cppdumper得到了下面的结果:
```
Initializing metadata...
Metadata Version: 27
Initializing il2cpp file...
Il2Cpp Version: 27
Searching...
CodeRegistration : 0
MetadataRegistration : 0
System.InvalidOperationException: 序列不包含任何匹配元素
在 System.Linq.Enumerable.First(IEnumerable`1 source, Func`2 predicate)
在 Il2CppDumper.Macho64.Search() 位置 C:\projects\il2cppdumper\Il2CppDumper\ExecutableFormats\Macho64.cs:行号 203
在 Il2CppDumper.Program.Init(String il2cppPath, String metadataPath, Metadata& metadata, Il2Cpp& il2Cpp) 位置 C:\projects\il2cppdumper\Il2CppDumper\Program.cs:行号 226
ERROR: An error occurred while processing.
Press any key to exit...
```
- 出现问题后我最开始怀疑是无后缀名的二进制可执行文件有问题,没有打包成功不是mach-o文件。于是我用了machoview软件打开了该文件,发现文件没有问题。这里究竟是哪个部分出了问题? 如果没记错的话,il2cpp是针对Android设备写的吧。。。(不知道对不对,没试过ios)
当然也可能是针对框架,支持ios的但是你的那个二进制文件ifprojec是肯定不对的,给你截个图看一下安卓上这个文件一般多大
(小声逼逼,il2cpp的问题没必要把打包的过程和签名的过程发出来吧。。。看了半天只有最后是重点) 纯新手小白,害怕是前面什么地方做错了{:1_937:}
我看dumper的说明,说是支持ios的呀。。
页:
[1]