1.用qt Creator编写的程序,可以使用qmake yourproject.pro -spec macx-xcode,生成XCode工程,然后在同级目录下,可以找到yourproject.xcodeproj项目文件
2.每次achiver之后的结果可以在 Window->Organizer 点击查看
3.Mac app的build,以及后续的distribute都需要用到证书来签名,这个证书两个不同的证书,可以再apple developer网站上申请,前提是需要先注册一个开发者账号;
4.如果你的app中包含了其他的app,则再build阶段可能会提示codesign error之类的,需要先对这些内嵌的app进行签名;
5.在mac上可以使用macdeployqt yourapp.app,来进行打包,可以补充依赖的qt库,会在yourapp.app/Contents/Framework目录下;
6.如果开发过程中,使用了第三方的动态库,也就是yourapp.app的运行依赖于三方的dylib文件,则需要考虑依赖路径问题;
7.可以使用otool -L yourapp,yourapp的路径是yourapp.app/Contents/Mac/下,通过该指令查看是否路径依赖可能存在问题,如果存在问题则需要进行修改;
8.可以使用install_name_tool -change old-lib-path new-lib-path XXX,来修改XXX所指文件所依赖的库的路径;
9.一般可能需要在build之后,需要重新修改一下yourapp的依赖库的路径,此时,可以在build phase中增加一个New Run Script phase节点,然后在脚本中填写修改路径代码;
10.如果生成的app要提交的商店,则需要在Info页面中增加Bundle Version和Bundle Version String(short),否则会提交不了,而且你的app要启用hardened runtime才行;
11.如果编写的app要在apple store里发行,则需要启用沙盒配置,就是在entitlements文件中增加app sandbox节点,然后设置为true,并且添加程序运行时需要的权限,否则运行会有问题;
12.如果app不需要在商店发布,而是直接交给其他人运行,我们可以对其签名并公证,来解决运行时Gatekeeper对app的阻拦;
13.在公证时,可能会遇到卡在authenticating with apple store阶段,可以按照以下方式尝试解决(https://www.jianshu.com/p/1c7f4cee252e),亲测有效:
step1: 打开终端输入
open ~/Library/Caches/com.apple.amp.itmstransporter/
step2: 删除文件夹内所有文件
step3: 在终端输入 (亲测在这里打开VPN会快很多,下载内容大概60M+)
/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/itms/bin/iTMSTransporter
step4: 下载完了后重启Xcode
14.暂且记这里。