Skipping copy phase strip, binary is code signed IOS
Hello,
We building our IOS release app with following command:
tns build ios --clean --for-device --env.aot --env.report --env.hiddenSourceMap --certificate keychain.p12 --certificatePassword ${IOSKEYCHAINPASS} --release --provision $uuid
We have a lot of this spam like this:
warning: skipping copy phase strip, binary is code signed: /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/tns-core-modules-widgets/platforms/ios/TNSWidgets.framework/TNSWidgets (in target 'xxxcommobile' from project 'xxxcommobile')
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/tns-core-modules-widgets/platforms/ios/TNSWidgets.framework/TNSWidgets -r -o /Users/user/Library/Developer/Xcode/DerivedData/xxxcommobile-dvfmouoselmuzbdcyewzxtbiifmz/Build/Intermediates.noindex/ArchiveIntermediates/xxxcommobile/InstallationBuildProductsLocation/Applications/xxxcommobile.app/Frameworks/TNSWidgets.framework/TNSWidgets
warning: skipping copy phase strip, binary is code signed: /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-ui-sidedrawer/platforms/ios/TNSSideDrawer.framework/TNSSideDrawer (in target 'xxxcommobile' from project 'xxxcommobile')
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-ui-sidedrawer/platforms/ios/TNSSideDrawer.framework/TNSSideDrawer -r -o /Users/user/Library/Developer/Xcode/DerivedData/xxxcommobile-dvfmouoselmuzbdcyewzxtbiifmz/Build/Intermediates.noindex/ArchiveIntermediates/xxxcommobile/InstallationBuildProductsLocation/Applications/xxxcommobile.app/Frameworks/TNSSideDrawer.framework/TNSSideDrawer
warning: skipping copy phase strip, binary is code signed: /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-ui-listview/platforms/ios/TNSListView.framework/TNSListView (in target 'xxxcommobile' from project 'xxxcommobile')
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-ui-listview/platforms/ios/TNSListView.framework/TNSListView -r -o /Users/user/Library/Developer/Xcode/DerivedData/xxxcommobile-dvfmouoselmuzbdcyewzxtbiifmz/Build/Intermediates.noindex/ArchiveIntermediates/xxxcommobile/InstallationBuildProductsLocation/Applications/xxxcommobile.app/Frameworks/TNSListView.framework/TNSListView
warning: skipping copy phase strip, binary is code signed: /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-ui-core/platforms/ios/TNSCore.framework/TNSCore (in target 'xxxcommobile' from project 'xxxcommobile')
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-ui-core/platforms/ios/TNSCore.framework/TNSCore -r -o /Users/user/Library/Developer/Xcode/DerivedData/xxxcommobile-dvfmouoselmuzbdcyewzxtbiifmz/Build/Intermediates.noindex/ArchiveIntermediates/xxxcommobile/InstallationBuildProductsLocation/Applications/xxxcommobile.app/Frameworks/TNSCore.framework/TNSCore
warning: skipping copy phase strip, binary is code signed: /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-plugin-firebase/platforms/ios/TNSCrashlyticsLogger.framework/TNSCrashlyticsLogger (in target 'xxxcommobile' from project 'xxxcommobile')
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-plugin-firebase/platforms/ios/TNSCrashlyticsLogger.framework/TNSCrashlyticsLogger -r -o /Users/user/Library/Developer/Xcode/DerivedData/xxxcommobile-dvfmouoselmuzbdcyewzxtbiifmz/Build/Intermediates.noindex/ArchiveIntermediates/xxxcommobile/InstallationBuildProductsLocation/Applications/xxxcommobile.app/Frameworks/TNSCrashlyticsLogger.framework/TNSCrashlyticsLogger
warning: skipping copy phase strip, binary is code signed: /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-local-notifications/platforms/ios/LocalNotificationsPlugin.framework/LocalNotificationsPlugin (in target 'xxxcommobile' from project 'xxxcommobile')
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-local-notifications/platforms/ios/LocalNotificationsPlugin.framework/LocalNotificationsPlugin -r -o /Users/user/Library/Developer/Xcode/DerivedData/xxxcommobile-dvfmouoselmuzbdcyewzxtbiifmz/Build/Intermediates.noindex/ArchiveIntermediates/xxxcommobile/InstallationBuildProductsLocation/Applications/xxxcommobile.app/Frameworks/LocalNotificationsPlugin.framework/LocalNotificationsPlugin
warning: skipping copy phase strip, binary is code signed: /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-barcodescanner/platforms/ios/BarcodeScannerFramework.framework/BarcodeScannerFramework (in target 'xxxcommobile' from project 'xxxcommobile')
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip /Users/user/builds/r9xYjo8J/0/xxx/xxxcom-mobile/node_modules/nativescript-barcodescanner/platforms/ios/BarcodeScannerFramework.framework/BarcodeScannerFramework -r -o /Users/user/Library/Developer/Xcode/DerivedData/xxxcommobile-dvfmouoselmuzbdcyewzxtbiifmz/Build/Intermediates.noindex/ArchiveIntermediates/xxxcommobile/InstallationBuildProductsLocation/Applications/xxxcommobile.app/Frameworks/BarcodeScannerFramework.framework/BarcodeScannerFramework
As far as i read thats an IOS linking issue and the Project settings for the (signed) release build is not correct. It seems it tries to strip debug symbols from the release ipa, which is it not allowed because the ipa is already signed..
- To remove the Warning it can set that the Project is not doing this on release build (https://stackoverflow.com/questions/5494920/xcode-4-archive-warning-to-skip-copy-phase/7915911#7915911)
But the question overall is why (at least it seems so) debug symbols reach the release .ipa file..
Doesn't that --for-device get you a debug build?
Have you tried ns publish, or ns prepare --release?
hey,
normally im preparing with:
- ns prepare ios --provision $uuid
so i tried now 4 versions:
version 1:
- ns prepare ios --provision $uuid
- tns build ios --clean --for-device --env.aot --env.report --env.hiddenSourceMap --certificate keychain.p12 --certificatePassword ${IOSKEYCHAINPASS} --release --provision $uuid
-> output as above
version 2:
- ns prepare ios --provision $uuid
- tns build ios --clean --env.aot --env.report --env.hiddenSourceMap --certificate keychain.p12 --certificatePassword ${IOSKEYCHAINPASS} --release --provision $uuid
-> failed building because of missing sourceMap files
cp -r platforms/ios/build/Release-iphoneos/xxx.xcarchive/Products/Applications/xxx.app/app/* sourceMap
version 3:
- ns prepare ios --provision --release $uuid
- tns build ios --clean --env.aot --env.report --env.hiddenSourceMap --certificate keychain.p12 --certificatePassword ${IOSKEYCHAINPASS} --release --provision $uuid
-> failed building because of missing sourceMap files
cp -r platforms/ios/build/Release-iphoneos/xxx.xcarchive/Products/Applications/xxx.app/app/* sourceMap
version 4:
- ns prepare ios --provision --release $uuid
- tns build ios --clean --for-device --env.aot --env.report --env.hiddenSourceMap --certificate keychain.p12 --certificatePassword ${IOSKEYCHAINPASS} --release --provision $uuid
-> same output as version 1
so it sadly didnt solve my issues.
But it seems in latest NS builds, mostly all "binary is code signed" warnings went away for TNS modules.
Currently i get only the output for "BarcodeScannerFramework" and "NotaWebViewExt", which seems to be libaries. How to get rid of code signing for those libs?