Xcode9中 export ipa 包出现The data couldn’t be read because it isn’t in the correct format

随笔记录:

        升级Xcode9后在进行ipa包导出时一直提示The data couldn’t be read because it isn’t in the correct format的错误提示,折腾了好久才算解决了,感觉跟个人的开发环境配置有关系,估计以前某一次升级ruby的时候导致环境异常,低版本的Xcode没有验证,最新的Xcode9做了验证。虽然问题是解决了,但对问题的根源并没有特别理解,零散记一下能记住的解决过程。


导出包时提示The data couldn’t be read because it isn’t in the correct format,对话框的左下角“show logs”查看错误日志发现以下错误:

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in `mkdir': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-16/2.0.0/xcodeproj-0.17.0 (Errno::EACCES)

在这里根据网上的方式去尝试执行gem update --system,结果收到以下错误:

ERROR:While executing gem ... (Gem::RemoteFetcher::FetchError)

SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: sslv3 alert handshake failure (https://gems-ruby-china.b0.aicdn.com/specs.4.8.gz)

参照 https://apple.stackexchange.com/questions/83885/ruby-2-0-0-install-via-rvm-errors-surrounding-openssl 网上的方式进行尝试:

$ rvm remove 2.0.0 # get rid of unsuccessful installation

$ rvm get head --autolibs=3 # get the latest RVM and build required libs

$ rvm requirements # just in case, install all other required stuff

$ rvm install ruby-2.0.0

$ rvm --default use ruby-2.0.0

结果在执行 rvm install ruby-2.3.4 时下载超级慢,最后提示错误 :

There was an error(56).

Failed download

There has been an error fetching the ruby interpreter. Halting the installation.

重新设置了gem源:

$ gem sources -a https://gems.ruby-china.org/

Error fetching https://gems.ruby-china.org/:

SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: sslv3 alert handshake failure (https://gems-ruby-china.b0.aicdn.com/specs.4.8.gz)

$ echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db

接着开始尝试安装高版本的ruby:

$ rvm install 2.3.0 --disable-binary

安装过程中报错找不到libyaml-0.2.dylib:

/usr/local/Cellar/ruby/2.4.2/lib/ruby/2.4.0/yaml.rb:5:in `':

It seems your ruby installation is missing psych (for YAML output).

To eliminate this warning, please install libyaml and reinstall your ruby.

/usr/local/Cellar/ruby/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/usr/local/Cellar/ruby/2.4.2/lib/ruby/2.4.0/x86_64-darwin16/psych.bundle, 9): Library not loaded: /usr/local/opt/libyaml/lib/libyaml-0.2.dylib (LoadError)

接下来尝试过重新安装openssl、重新安装ruby、重新安装psych、重新安装libyaml:

$ brew remove openssl

$ brew install openssl

$ rm -rf /usr/local/lib/ruby/site_ruby/

$ brew uninstall ruby

$ brew install ruby

$ gem install psych

$ gem install libyaml

$ rvm pkg install libyaml

$ rvm reinstall all --force

# 重新装yaml

$ cd.rvm/src

$ sudo rm-rf yaml*

$ rvm pkg install libyaml

# 手动下载libyaml

$ tar zxf yaml-0.1.4.tar.gz

$ cd yaml-0.1.4

$ ./configure

$ make

$ make install

最后还是报错,而且错误的路径一直是2.0.0 的版本,最后尝试了把默认2.0.0版本删除了,重新设置默认的ruby版本为2.3.4并update,最终解决了问题:

https://github.com/caskroom/homebrew-cask/issues/7732

$ rm -rf /Library/Ruby/Gems/2.0.0

$ gem update --system

现在依然是一知半解的状态,怀疑应该是当初升级ruby后某个环境变量指错了,在进行ipa导出的时候两个版本的ruby都被用到了。附带一些参考的链接:

https://stackoverflow.com/questions/15738883/please-install-libyaml-and-reinstall-your-ruby

https://stackoverflow.com/questions/10392495/installing-libyaml-for-ruby-on-a-mac-osx-lion

https://github.com/caskroom/homebrew-cask/issues/7732

http://www.cocoachina.com/ios/20141018/9958.html

https://stackoverflow.com/questions/12092468/install-libtools-on-mac

https://github.com/Homebrew/homebrew-core/issues/11636

https://github.com/Homebrew/homebrew-core/issues/11635

https://github.com/rvm/rvm/issues/2689

https://apple.stackexchange.com/questions/83885/ruby-2-0-0-install-via-rvm-errors-surrounding-openssl

有人来答疑解惑一下最好了!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容