Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode 6 Archiving and get a warning "Skipping copy phase strip ,binary is code signed" when add "share extension" to target

I got this warning when I added share extension to my project and archiving it warning: skipping copy phase strip, binary is code signed: /Users/xxxx/xxx/xxxx/Build/xxxx/Build/Intermediates/ArchiveIntermediates/xxxx/IntermediateBui ldFilesPath/UninstalledProducts/XXX.appex/XXXX

The old question does not provide and insight to correct this . So I decided to ask again. Warning during archive App with iOS 8 Extension in Xcode 6

Can someone please explain why this is happening ? Is it because the extension target is already code signed? If so, how to solve it ?

I knew that setting "Strip debug symbols during copy" to "NO" can clear this warning . But it is not actually solve the problem. And what is the drawback of not "stripping debug symbol"? Because my archive size is still the same whether I set this to YES or NO

like image 277
Kong Hantrakool Avatar asked Dec 10 '14 12:12

Kong Hantrakool


2 Answers

Do not disable Strip Debug Symbols During Copy in your application project. This will bloat your app (if you have other unsigned dependencies).

It occurs because building the application project attempts to strip the framework but it can't since the framework is already codesigned. However the framework has already been stripped during it's build, so the warning is harmless. Xcode isn't doesn't seem to detect that the codesigned framework has already been stripped.

You should leave it as is.

like image 106
Monstieur Avatar answered Oct 05 '22 12:10

Monstieur


"Compiled code usually contains debug information. This debug stuff is helpful for inspecting running code in debugger, but less so for the optimized code you would ship in distribution builds. Therefore it gets stripped out when doing an Archive build.

The problem here is that PBXCp is unable to strip out debug symbols from signed binaries because this would invalidate the digital signature. So if you have a project that was created before Xcode 6.3 you will now get a warning like this.

To fix the warning simply change both values to NO. Removing them does not work because the default value is still YES for both. The project templates that came with Xcode 6.3 have these turned off by default. Only projects that were started with older templates still have YES on the Release line."

Source: https://www.cocoanetics.com/2015/04/skipping-copy-phase-strip/

like image 36
Luis Ascorbe Avatar answered Oct 05 '22 13:10

Luis Ascorbe