XZ_Python3之使用Python批量打企业ipa包遇到的问题和解决
如果电脑上没有Python环境,可以按照这个安装一遍
我的是安装的python2,升级到python3需要在终端输入:brew upgrade python
安装完3.0之后,终端给的切换指令:
Ifyou need Homebrew's Python 2, `brew install python@2`.
执行Python语句
终端输入:python3 pack.py
以下是我遇到的问题及解决方法:
问题1:执行重签名指令,重签名失败 ==>iPhone Developer: xxx (xxx): ambiguous (matches "iPhoneDeveloper: xxx)
解决:出现原因:钥匙串中有两个一摸一样的证书,删除一个,
问题2:** EXPORT FAILED**
打包成功,导出错误:因为推送需要描述文件,而使用这个打包不能使用Xcode自动生成的描述文件,需要在开发者账号中创建好并下载安装到Xcode,然后在导出的plist中做出修改:DistributionSummary.plist 和 ExportOptions.plist 是Xcode打包之后生成的那个,可以拿来直接用,如果自动创建了描述文件,就需要在ExportOptions.plis中添加provisioningProfiles字典,在字典中添加键值对,其中,key和bundleid一样 value和描述文件的名字一样。
问题3:IndentationError: expected an indented block
解决:说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。
注意:在Python中有冒号的下一行往往要缩进,该缩进就缩进
问题4:ModuleNotFoundError: No module named 'xlrd'
解决:该错误是因为Excel需要单独的模块支持,所以需要安装xlrd模块,
Python3可以在命令提示符中输入:pip3install xlrd
Python2直接输入:pip install xlrd
问题5:ModuleNotFoundError: No module named 'tkMessageBox'
很有可能是因为找到的代码是python2.x的,然而却把它放在python3.x的环境下跑。其实上面的Tkinter库在python3里是tkinter,只是首字母变小写了,但是import语句是对大小写敏感的!
import?tkMessageBox??改成from?tkinter?import?messagebox?#对应着tkinter文件夹底下的messagebox.py
则可以写成messagebox.showinfo("title","hello?world")?
问题6:NameError: name 'xrang' is not defined
解决:将代码中for i in xrang(0, lines): 改成 for i in rang(0, lines):;
问题7:创建图形化界面遇到问题:SyntaxError:invalid syntax
解决:root= tk.Tk()
问题8:ModuleNotFoundError: No module named'tkFileDialog'
在顶部引入importtkinter as tk
问题9:NameError:name 'Entry' is not defined
解决:在Entry前面加上tk.,创建的时候使用tk.Entry进行创建
问题10:NameError: name 'StringVar' is notdefined
解决:在顶部引入tkinter即,from tkinter import *
问题11:AttributeError: module 'os' has noattribute 'startfile'
在Windows?系统上,Python3.X?有一个os.startfile函数,用于模拟双击一个文件的操作
这一操作在非?Windows?系统上不受支持,但是采用?OS X?命令行中实现的open命令来实现类似的效果
# Win32 import os os.startfile(filename) # OS X import subprocess subprocess.call(["open", filename])
后者实现的是执行open
问题12:SyntaxError: invalid syntax
解决:终端输入:sudo easy_install biplist?安装python下的plist库--biplist
问题13:AttributeError: module 'os' has noattribute 'quit'
解决:python交互界面的退出
import sys
sys.exit()
问题14:error: exportArchive: "XXXX.app" requires aprovisioning profile with the Push Notifications and App Groups features.
解决:在Xcode上换成企业版的BundleID和 Team再打包就可以了
上一篇: Java NIO Path接口操作文件