Info.plist file processing modifies executable

2019-09-14 08:30发布

I've been working on an iPhone application had an issue where dSYM file generation was seg faulting on me.

GenerateDSYMFile /Users/kaom/Projects/build/Release-iphoneos/NodeAppGen.app.dSYM /Users/kaom/Projects/build/Release-iphoneos/NodeAppGen.app/NodeAppGen cd /Users/kaom/Projects/Apps/NodeAppGen setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/usr/bin/dsymutil /Users/kaom/Projects/build/Release-iphoneos/NodeAppGen.app/NodeAppGen -o /Users/kaom/Projects/build/Release-iphoneos/NodeAppGen.app.dSYM

Command /Developer/usr/bin/dsymutil failed with exit code 11

I tracked this bug down to an error in the application's Info.plist file.

Instead of

<key>CFBundleVersion</key>
<string>1.0</string>

I had

<key>CFBundleVersion</key>
<real>1.0</real>

To my knowledge, dSYM file generation is only dependent on the executable and the plist file should not affect the executable. So my question is why did this break dSYM file generation?

1条回答
够拽才男人
2楼-- · 2019-09-14 09:10

Look for an error earlier in the build log, possibly one that didn't actually get parsed out as an explicit error by Xcode.

More likely than not, something was chomping on the Info.plist and was mighty confused to find a <real/> instead of a <string/> value.

In any case, file a bug via http://bugreport.applec.om, as having the dev tools produce a useful error message is always desirable.

查看更多
登录 后发表回答