python-3.x 我用Pyinstaller创建的可执行文件只能在我的设备上运行,即使我正在创建证书(MacOS)

deyfvvtc  于 2023-02-26  发布在  Python
关注(0)|答案(1)|浏览(138)

我是一个python的初学者,我写了一个程序,我试图把它转换成一个可执行文件,所以我用Pyinstaller和一切工作,直到我试图分享我的应用程序到其他MacOS设备,它不想工作,所以当我尝试这个解决方案从这个家伙的问题:
Pyinstaller error: 'SystemError: codesign failure!' on macOS
这似乎在某种程度上他有同样的问题,所以我创建了一个证书,并尝试在终端这个命令:
pyinstaller --windowed --osx-entitlements-file Info.plist --codesign-identity Ahmed --add-data="fichier référence des prix.xlsx:." --add-data="Réf_productible1.csv:." --add-data="courbe1.xlsx:." app12.py
但这次我甚至无法在我的设备中打开它,显示以下消息:
It means impossible to open the application
终点站是这样的:
enter image description here
文件“Info.plist”包含以下代码:
我补充说,我真的初学IT和Python,所以我每天都在学习。
'

<plist version="1.0">
<dict>
    <key>CFBundleIdentifier</key>
    <string>com.goe.lorient.app12</string>
    <key>CFBundleName</key>
    <string>app12</string>
</dict>
</plist>

'
谢谢你。

5t7ly7z5

5t7ly7z51#

不确定您的plist是否缺少所需权利的某些内容-例如您是否可以访问相机或文件空间?您需要将其添加到您的权利中。
你也可以尝试在你的mac上从终端单独进行codesign:

codesign -s <identity> <absolute-bundle-path>

下面是一个示例plist文件,您可以修改并尝试用途:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDisplayName</key>
    <string>...displayname</string>
    <key>CFBundleExecutable</key>
    <string>...filename</string>
    <key>CFBundleIconFile</key>
    <string>icon-windowed.icns</string>
    <key>CFBundleIdentifier</key>
    <string>...identifier</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>...bundlename</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>0.0.0</string>
    <key>NSHighResolutionCapable</key>
    <true/>
</dict>
</plist>

相关问题