我们是个独立的出海工具App开发团队,正在开发一款应用。眼下遇到了技术问题,是关于python方面的,所以寻求小伙伴帮我们解答或者协助进行开发,费用800-1000元。
以下是问题描述:
我在iOS项目里,通过Python-Apple-support和 PythonKit来实现调用python。
按照Python-Apple-support在git上的USAGE完成集成后,目前debug下可以正常调用。
但是testfliight或release模式下,
设置 pythonPath 和Py_Initialize()时没有崩溃:
guard let stdLibPath = Bundle.main.path(forResource: "python-stdlib", ofType: nil) else { return }
guard let stdDynloadPath = Bundle.main.path(forResource: "python-stdlib/lib-dynload", ofType: nil) else { return }
setenv("PYTHONHOME", stdLibPath, 1)
setenv("PYTHONPATH", "(stdLibPath):(stdDynloadPath)", 1)
Py_Initialize()
//以上内容会被执行不会导致崩溃,并且debug下后续可以正常调用,路径应该是有效的
然后调用Python会崩溃:
//调用自定义的python文件
let py = Python //这里会闪退
let a = py.import("diffTool")
let test = a.diff_modelTest("123123123","123123123")
经检查,闪退在PythonKit的这里:
PythonKit-> PythonLibrary+Symbols:Py_IncRef(pointer)
看起来似乎是个指针错误,在Xcode里看到了很多0x0000000000000000
比如:
sharedMethodDefinition UnsafeMutablePointer<PythonKit.PyMethodDef> 0x0000000000000000
请有相关经验的或知道如何解决的小伙伴留下你的联系方式,谢谢
招聘类型:
外包零活
职业:
开发
工作方式:
线上兼职
好的。哥们我周末要出门一趟,工作日回来联系
我就好奇这个问题最终怎么解决的?
自己有app套python遇到过同样的问题已解决,可以保持sandbox=yes
谢谢!
暂时不需要呢,而且团队也刚刚起步
mac的app吗?会不会是调用方没有python环境?
iPhone端的。应该不是吧,debug时没问题,只有testflight和release有问题
项目发来调试一下
已复现并找到解决方案,可联系我进行解决。遵守社区规则,请勿在回帖中留下联系方式。
还需要解决请联系
生产环境的要改下Target-iOS
还要帮忙解决吗?