在iOS Swift项目上使用Python库
我想在iOS应用程序中使用这个Python库,所以我一直在探索如何做到这一点。 我已经走了相当远的路,使用py2app(某种程度上基于本文:,没有符号链接)创建了一个Python安装包。 因此,我有在iOS Swift项目上使用Python库,python,ios,swift,py2app,Python,Ios,Swift,Py2app,我想在iOS应用程序中使用这个Python库,所以我一直在探索如何做到这一点。 我已经走了相当远的路,使用py2app(某种程度上基于本文:,没有符号链接)创建了一个Python安装包。 因此,我有main.swift文件加载我的包,但是当应用程序加载而不是查看主文件上的消息时,我得到了一个错误 加载错误 /用户/Blabla/Library/Developer/CoreSimulator/Devices/C465435B-4EF3-4CDC-98E7-9ACF1C6736C/data/Cont
main.swift
文件加载我的包,但是当应用程序加载而不是查看主文件上的消息时,我得到了一个错误
加载错误/用户/Blabla/Library/Developer/CoreSimulator/Devices/C465435B-4EF3-4CDC-98E7-9ACF1C6736C/data/Containers/Bundle/Application/29C18165-D120-447E-A912-F4B4AFC77966/MyPython.app/Bridge.plugin/Contents/MacOS/Bridge: dlopen(/Users/blabla/Library/Developer/CoreSimulator/Devices/c46545b-4EF3-4CDC-98E7-9ACF11C6736C/data/Containers/Bundle/Application/29C18165-D120-447E-A912-F4B4AFC77966/MyRDP.app/Bridge.plugin/Contents/MacOS/Bridge,265):未找到合适的图像。确实找到:
/用户/Blabla/Library/Developer/CoreSimulator/Devices/C465435B-4EF3-4CDC-98E7-9ACF1C6736C/data/Containers/Bundle/Application/29C18165-D120-447E-A912-F4B4AFC77966/MyPython.app/Bridge.plugin/Contents/MacOS/Bridge: mach-o,但不是为iOS模拟器构建的 你知道我该怎么做才能让它工作吗?下面我将发布一些我拥有的文件: 梅因·斯威夫特
import UIKit
let path = Bundle.main.path(forResource: "Bridge", ofType: "plugin")
guard let pluginbundle = Bundle(path: path!) else {
fatalError("Could not load python plugin bundle")
}
pluginbundle.load()
let ret = UIApplicationMain(
CommandLine.argc,
UnsafeMutableRawPointer(CommandLine.unsafeArgv)
.bindMemory(
to: UnsafeMutablePointer<Int8>.self,
capacity: Int(CommandLine.argc)),
nil,
NSStringFromClass(AppDelegate.self)
)
exit(ret)
最后是py2app中的my setup.py
"""Setuptools setup for creating a .plugin bundle"""
from setuptools import setup
APP = ['Bridge.py']
OPTIONS = {
# Any local packages to include in the bundle should go here.
# See the py2app documentation for more
"includes": ['mylib'],
}
setup(
plugin=APP,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
install_requires=['pyobjc'],
)
你好您好@Rex,您到底指的是哪一步?根据错误,Path无法访问@雷克斯:如果我尝试不使用我的库,我也会犯同样的错误。我不认为这与我的图书馆的路径有关(如果你是这么说的话)你好!您好@Rex,您到底指的是哪一步?根据错误,Path无法访问@雷克斯:如果我尝试不使用我的库,我也会犯同样的错误。我不认为这与我的图书馆的路径有关(如果这就是你所说的)
"""Setuptools setup for creating a .plugin bundle"""
from setuptools import setup
APP = ['Bridge.py']
OPTIONS = {
# Any local packages to include in the bundle should go here.
# See the py2app documentation for more
"includes": ['mylib'],
}
setup(
plugin=APP,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
install_requires=['pyobjc'],
)