【问题标题】:SwiftShield: Obfuscation using SwiftShield gives errorSwiftShield:使用 SwiftShield 进行混淆会产生错误
【发布时间】:2019-06-15 17:01:53
【问题描述】:

我想使用 SwiftShield 混淆 Swift 代码。我已经使用 Cocoapods 进行了集成。

为了运行它,我在终端中使用下面的 SwiftShield 工具:

swiftshield -automatic -project-root /app/MyApp -automatic-project-file 
/app/MyApp/MyApp.xcworkspace -automatic-project-scheme MyApp-AppStore

得到错误:

-bash: swiftshield: command not found

我已将 swiftshield 可执行文件从 pod 复制到 /usr/local/bin 并尝试了相同的命令,但仍然出现以下错误

dyld: Library not loaded: @rpath/sourcekitd.framework/Versions/A/sourcekitd
Referenced from: /usr/local/bin/swiftshield
Reason: image not found
Abort trap: 6

可能是什么问题?如何安装 SwiftShield

【问题讨论】:

  • 你一开始安装了 swiftshield 吗?
  • 是的,使用 Cocoa-pods。
  • Swiftshield 不是可可豆荚。
  • 是的..我的意思是,我已经使用依赖管理器“Cocoapods”集成了 SwiftShield。 cocoapods.org/pods/SwiftShield 并从终端运行“swiftshield -automatic....”命令。
  • Pod 未全局安装。因此,任何可执行文件都不会在命令行中普遍可用。您需要从其位置运行它。可能像./Pods/SwiftShield/bin/swiftshield

标签: ios swift obfuscation


【解决方案1】:

问题与 Xcode 路径有关。我的机器上安装了 2 个 Xcode 版本。

/Applications/Xcode10.3.1.app

/Applications/Xcode11.1.app

我删除了 Xcode10.3.1.app 并将 Xcode11.1.app 重命名为 Xcode.app。问题现在得到解决。 https://github.com/rockbruno/swiftshield/issues/71#event-2832206369

swiftshield使用步骤(手动模式):

  1. 在桌面上下载 swiftshield 可执行文件 https://github.com/rockbruno/swiftshield/releases
  2. 命令行 - 转到桌面并授予可执行权限
sudo chmod 755 swiftshield
  1. 将 swiftshield 可执行文件移动到 /usr/bin
sudo cp swiftshield /usr/local/bin
  1. 检查是否安装正确
swiftshield --help
  1. 更改项目根文件夹的权限以重命名混淆代码
chmod -R 774 ./ProjectRootDir
  1. 使用手动模式混淆代码
swiftshield -project-root ./ProjectRootDir -tag __obf -verbose

【讨论】:

  • 在第 3 步中,我们应该移动整个目录还是任何特定文件?
  • @Sneha 只有 swiftshield 可执行文件
  • @GauravBorole 在 3 步中,出现类似 cp: swiftshield 是一个目录(未复制)的错误。
  • @ChandanJee 确保您复制的是可执行文件而不是目录...
  • 它是否与使用 xcode 的“swift 包管理器”添加的 3rd 方库一起正常工作?我重复了步骤 5 几次,但总是收到错误“您没有权限将文件 fileName 保存在文件夹 packageName 中.....Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied"
猜你喜欢
  • 2014-03-21
  • 1970-01-01
  • 2014-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-05
相关资源
最近更新 更多