1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
Quick and dirty notes
Signing certificates (for standalone distribution)
--------------------------------------------------
In Xcode, Preferences, Account, Sign in, View details.
Add Developer ID Distribution ("Developer ID Application" certificate), Developer ID Installer Distribution ("Developer ID Installer" certificate)
Refresh
Signing certificates (for Mac App Store)
----------------------------------------
In Xcode, Preferences, Account, Sign in, View details.
Add Mac Development ("Mac Developer" certificate), Mac App Distribution ("3rd party Mac Developer Application" certificate), Mac Installer Distribution ("3rd party Mac Developer Installer" certificate)
Refresh
Init (for Mac App Store)
------------------------
Signature of libs: Xcode projet, Target, MediaInfo, Build phases, Run Script
/bin/sh
if [ "$CODE_SIGNING_ALLOWED" = "YES" -a "$CODE_SIGN_IDENTITY" != "Don't Code Sign" ]; then
cd "$CODESIGNING_FOLDER_PATH"
/usr/bin/codesign -f -s "3rd Party Mac Developer Application: MediaArea.net" --verbose Contents/Resources/libmediainfo.dylib
fi
SandBoxing: Target, MediaInfo, Capabilities, Enable App Sandboxing
When language files change (for Mac App Store)
----------------------------------------------
"./update_xibs.sh all."
Locale issues:
- Greek language locale on mac is called 'el'
- Chinese are zh-Hans and zh-Hant
- mac has pt and pt-PT locales by default
Per version (for standalone distribution)
----------------------------------------
Tested on Mac OS X 10.9
WxWidgets 2.9.5: ./configure --with-osx_cocoa --without-libtiff --disable-mediactrl --disable-sound --enable-unicode --disable-shared --disable-precomp-headers --enable-static --enable-stl --with-macosx-version-min=10.5 CFLAGS=' -arch i386 -arch x86_64' CXXFLAGS=' -arch i386 -arch x86_64' LDFLAGS=' -arch i386 -arch x86_64' OBJCFLAGS=' -arch i386 -arch x86_64' OBJCXXFLAGS=' -arch i386 -arch x86_64'
GUI Wx:
./GUI_Compile.sh --with-wx-static --enable-arch-i386 --enable-arch-x86_64 --with-macosx-version-min=10.5
or (as Wx is not compiled for i386 for now) :
cd Project/GNU/GUI/
./configure --with-wx-static --enable-arch-x86_64 --with-macosx-version-min=10.5
make
Copy MediaInfo/Project/Mac directory from MediaInfo source and go to this directory, update VERSION in mkdmg_GUI and launch ./mkdmg_GUI
CLI:
./CLI_Compile.sh --enable-arch-i386 --enable-arch-x86_64 --with-macosx-version-min=10.5
Copy MediaInfo/Project/Mac directory from MediaInfo source and go to this directory, update VERSION in mkdmg_CLI and launch ./mkdmg_CLI
DLL:
./SO_Compile.sh --enable-arch-i386 --enable-arch-x86_64 --with-macosx-version-min=10.5
codesign -f -s "Developer ID Application: ${SIGNATURE}" --verbose MediaInfoLib/Project/GNU/Library/.libs/libmediainfo.dylib
Verify that code signing is OK:
spctl --assess -v MediaInfoLib/Project/GNU/Library/.libs/libmediainfo.dylib
cd MediaInfoLib/Release/ && ./Release_DLL_Mac_Universal.sh
Per version (for Mac App Store)
----------------------------------------
copy libmediainfo.dylib in the project root dir
install_name_tool -id @executable_path/../Resources/libmediainfo.dylib libmediainfo.dylib
Xcode "Build Settings", change APP_VERSION (edit: not found in new Xcode, need to edit MediaInfo.xcodeproj/project.pbxproj)
Xcode, run, test all views + version
Xcode menu, Product, Archive
Organizer will be opened. Click Validate. After validation, click Distribute.
|