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,前面的那一长串数字就是。

Unity打IOS版本遇到的问题

CODE_SIGN_IDENTITY 也是可以在这个文件中右键简介中看到,CERTIFICATES中的Name即是。不过好像不能复制,就打开钥匙串,找到对应的证书,右键显示简介

Unity打IOS版本遇到的问题

 

 

2.设备的UDID哪里找

把设备连上Mac,打开iTunes

Unity打IOS版本遇到的问题

Unity打IOS版本遇到的问题

点击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。

Unity打IOS版本遇到的问题