Unity打IOS版本遇到的问题
Unity生成Xcode工程以及ipa中遇到的问题。
1.命令行编译xcode工程,PROVISIONING_PROFILE和CODE_SIGN_IDENTITY怎么找
命令行编译
def build_xcode_project(current_project_path):
# 编译XCODE工程
global plistConfig
try:
cmd = "xcodebuild -project '" + current_project_path + "/Unity-iPhone.xcodeproj' "+\
"-configuration 'Release' -target 'Unity-iPhone' "\
"PROVISIONING_PROFILE=" +'''"'''+ dic_channel_config["iOSProvisionCode"] +'''"'''+ \
" CODE_SIGN_IDENTITY=" +'''"'''+ dic_channel_config["iOSCodeSign"] +'''"'''
return execute_cmd(cmd)
except Exception, e:
print '\nSome error/exception occurred.' + e
return False
return True
其中
PROVISIONING_PROFILE 这个是 mobileprovision 文件的 identifier,到 ~/Library/MobileDevice/Provisioning Profiles 下找到你需要的文件.mobileprovision,前面的那一长串数字就是。
CODE_SIGN_IDENTITY 也是可以在这个文件中右键简介中看到,CERTIFICATES中的Name即是。不过好像不能复制,就打开钥匙串,找到对应的证书,右键显示简介
2.设备的UDID哪里找
把设备连上Mac,打开iTunes
点击UDID可以切换看其他信息,需要复制,右键即可。
3.Xcode的UUID值哪里找
在终端输入“defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID”
或
在应用程序-Xcode-右键显示包内容-info.plist里找到DVTPlugInCompatibilityUUID 对应的value
4. 错误提示为如下怎么办
1)
Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Unity4XC.xcplugin' not present in DVTPlugInCompatibilityUUIDs
找到 /Applications/Unity/PlaybackEngines/iOSSupport/Tools/OSX/Unity4XC.xcplugin ,右键显示包内容-info.plist 把DVTPlugInCompatibilityUUIDs key 中的value中item,加入3中的value
2)
使用unity Fatal Error The Project is on case sensitive file system........
工程所在的硬盘,格式化的时候设置的系统为大小写敏感了,需要改为大小写不敏感的文件系统。
3)
如果说找不到目录,看看是不是路径中文件夹的名字有带空格的,有的可能找不到
[Unity] Couldn't set project path to: /Volumes/TOSHIBA
原来是设置的硬盘名字带空格 TOSHIBA XXX,所以修改一下硬盘名字。
5.IOS开发-证书相关概念
1. 开发者账号: 个人(Individual) 和 公司机构(Company、Organization)
购买个人账号 一年99刀
2. 用开发者账号可以申请ios开发证书,和相关配置的授权。
https://developer.apple.com/account/ios/certificate/distribution
3. 证书内容:公开**(相当于公章),证书名称,数字签名,证书具有时效性。
证书由谁颁布:由CA 以及 受CA信任的机构,一级机构,二级机构……
根证书:受信任的根证书的颁发机构,说明对这个ca认证中心的信任。
(windows:internet选项--内容--证书)
4. 有了相关证书,就相当于有了签名认证,就可以
在ios真机上,开发调试app(Development证书)了,
以及
发布到app store (Production(Distribution)证书)上。
(只有经过签名认证的app才能安装到真机和发布到appstore上)
Xcode工程设置证书路径:XcodeTarget | BuildSetting| CodeSigning
5. AppID:一般用反域名格式,用来标识一个(explicit AppID)或一组(wildcardAppID)app。
Xcode工程设置AppID路径:XcodeTarget | Info | BundleIdentifier,AppID = BundleIdentifier
6.provisoning profile=AppID+Devices+DevelopmenCertificate 在网站上申请,添加设备
( ~/Library/MobileDevice/Provisioning Profiles 的.mobileprovision文件右键显示简介)
Xcode工程设置profile路径:XcodeTarget | Info | ProvisoningProfile
6.app和ipa:
1. app 右键显示包内容,即bundle with excutable and resources
excutable:Mach-0 是ios的可执行文件
resources:Resources文件夹
2.app和ipa
.app
Mac 下的软件大部分都只有一个 .app 目录,里面包含了程序全部资源和可执行文件。简单来说,Mac 下的软件就像是 Windows 下的绿色软件一样,解压后即可使用,不需要安装
.ipa
ipa 格式可以视为这种 .app 软件的衍生物
3.xcode生成ipa,然后再export,export。