应用程序签名和包安装程序问题

时间:2014-07-12 14:14:21

标签: c# macos xamarin monomac xamarin.mac

每个人,当我尝试创建我的应用以进行分发时,我都面临一些问题。我创建了我需要的每个证书,Developer and Developer Installer,根据这里描述的指南developer.xamarin.com/guides/mac/deployment,_testing,_and_metrics/publishing_to_the_app_store/,一切看起来都很好,在bin中生成的文件/ release文件夹可以执行没有问题,但安装程序生成的文件在开始使用像SQLite这样的库时会失败

我在构建应用时收到以下警告

Building: Touring (Release)
Detecting code signing identity...
Code Signing Identity: "Developer ID Application: Melvin Starlin Gonzalez Cerda (4J7DT37GUB)"
App ID: "com.starlingonzalez.touring"
Performing main compilation...
Skipping project since output files are up to date
Build complete -- 0 errors, 0 warnings

提取嵌入内容

    Merging Mono Runtime into app bundle
    /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/bin/mmp -nolink "-minos=10.8" --sdkroot "/Applications/Xcode.app/Contents/Developer" -o "/Users/starlingonzalez/Desktop/TouringProject/Touring/Touring.MacOSX/bin/Release" -n "Touring.MacOSX" --profile "4.5" -a "/Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/4.5/System.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/4.5/System.Xml.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/4.5/System.Core.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/4.5/System.Xml.Linq.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/4.5/System.Drawing.dll" -a "/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/mono/XamMac.dll" -a "/Users/starlingonzalez/Desktop/TouringProject/Touring/packages/Newtonsoft.Json.6.0.3/lib/net40/Newtonsoft.Json.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/4.5/System.Net.Http.dll" -a "/Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/4.5/System.Core.dll" "/Users/starlingonzalez/Desktop/TouringProject/Touring/Touring.MacOSX/bin/Release/Touring.MacOSX.exe"
    warning MM2006: Native library 'libfam.so.0.dylib' was referenced but could not be found.
    warning MM2006: Native library 'libgamin-1.so.0.dylib' was referenced but could not be found.

warning MM2006: Native library 'libasound.so.2.dylib' was referenced but could not be found.
warning MM2006: Native library 'libX11.dylib' was referenced but could not be found.
warning MM2006: Native library 'libwinspool.drv.dylib' was referenced but could not be found.
warning MM2006: Native library 'libcups.dylib' was referenced but could not be found.
warning MM2006: Native library 'libgda-2.dylib' was referenced but could not be found.
warning MM2006: Native library 'libodbc32.dylib' was referenced but could not be found.
bundling complete

准备资源规则

Signing native libraries
codesign -v --force --sign "Developer ID Application: Melvin Starlin Gonzalez Cerda (4J7DT37GUB)" "/Users/starlingonzalez/Desktop/TouringProject/Touring/Touring.MacOSX/bin/Release/Touring.MacOSX.app/Contents/MonoBundle/libMonoPosixHelper.dylib"
/Users/starlingonzalez/Desktop/TouringProject/Touring/Touring.MacOSX/bin/Release/Touring.MacOSX.app/Contents/MonoBundle/libMonoPosixHelper.dylib: signed Mach-O thin (i386) [libMonoPosixHelper]

Signing application
codesign -v --force --sign "Developer ID Application: Melvin Starlin Gonzalez Cerda (4J7DT37GUB)" "--resource-rules=/Users/starlingonzalez/Desktop/TouringProject/Touring/Touring.MacOSX/bin/Release/Touring.MacOSX.app/Contents/ResourceRules.plist" "/Users/starlingonzalez/Desktop/TouringProject/Touring/Touring.MacOSX/bin/Release/Touring.MacOSX.app"
/Users/starlingonzalez/Desktop/TouringProject/Touring/Touring.MacOSX/bin/Release/Touring.MacOSX.app: signed bundle with Mach-O thin (i386) [com.starlingonzalez.touring]

----------------------完成----------------------

Build: 0 errors, 8 warnings

这也是我的建筑档案 http://postimg.org/image/s4m39p1qx/ http://postimg.org/image/kd5db4xll/

1 个答案:

答案 0 :(得分:1)

好的,经过大量的搜索,测试,我的努力,我终于得到了一点,xamarin产生的包实际上不适合我,所以解决方案,是由这个博客给出的由Andy Ayre发布的帖子: http://www.britishideas.com/2011/09/25/creating-package-installers-for-monomac/

基本上我要做的就是在没有任何软件包安装程序的情况下编译项目并生成.app文件并将其放在packagemaker上(可以从developer.apple.com下载),这个生成的安装程序文件实际上像我的机器上的魅力必须在另一个地方进行测试。

但至少,无论如何,我会告诉你它是否适合我。