ios Xcode Run可执行文件

3qpi33ja  于 12个月前  发布在  iOS
关注(0)|答案(1)|浏览(130)

我有一堆从Swift项目导出的对象(.o)文件。然后我运行:

clang -o MyApp.app -arch arm64 -isysroot $(xcrun --show-sdk-path) -bunch-of-frameworks-and-libraries-and-object-files

/usr/bin/codesign --force --sign $identity --entitlements $xcentFile MyApp.app

字符串
我从中得到了这个MyApp.app程序文件。我知道其他的.app文件,在构建Xcode项目时创建的,可以像zip一样打开,但这个不行。
从这个文件“重建”应用程序时,我缺少哪些步骤?
我有原始的Xcode项目和源代码,但我希望能够在不使用原始源代码的情况下构建应用程序,我认为我从对象文件中创建的这个文件是第一步。
我从这个Xcode项目创建的每个对象文件中创建了这个文件。是否可以删除所有.swift文件,只使用新创建的文件?

s2j5cfk0

s2j5cfk01#

我现在得到了工作解决方案。我误解了clang命令的输出。在我的问题中,我创建了一个新文件“MyApp.app“,这导致了输出文件的错误->输出文件不是.app文件/目录,而是一个可执行文件(它在.app文件/目录内)。所以我更改了命令:

clang -o MyApp -arch arm64 -mios-version-min=14.0 \
-isysroot $(xcrun --show-sdk-path) \
$(find <path_to_object_files_folder> -name "*.o") \
-bunch-of-frameworks-and-libraries-and-object-files

字符串
然后,我将创建的“MyApp”文件移动到项目“Product”文件夹的.app目录中。

codesign --force --sign <signing identity> --entitlements <path_to_xcent_file> --timestamp\=none --generate-entitlement-der <path_to_app_directory>


(you可以从xcodes构建日志中获取sign命令)
瞧,.app文件/目录可以部署到我的设备上。

相关问题