MonoTouch:只有在我启用调试时才会进行adhoc构建部署

时间:2012-09-30 22:07:07

标签: xamarin.ios provisioning-profile

我有一个应用程序,我已经从MonoDevelop部署了最近两年。该应用程序有2个版本,具有不同的捆绑ID,因此有2个配置文件。以前我已经切换了捆绑ID,已部署,一切都运行良好。

在MonoDevelop / MonoTouch(3.0.4.7/6.0.2)的最新升级之后,我无法再使用LLVM构建的ad-hoc构建工作,并且没有启用调试。由于开发时间很长,我不确定它是由Monodevelop / MonoTouch更改还是我的项目更改引起的。

奇怪的是,如果我检查发布版本的“启用调试”,一切都很好。然后它会记录一条警告“冲突--debug和--llvm选项。禁用软调试”。这似乎表明启用调试选项没有效果?

所以问题是:如果我在发布版本上启用调试,为什么应用程序只能正确部署到设备?

第三方内容方面唯一的变化是我们在这里添加了新的Admob绑定: https://github.com/dalexsoto/AlexTouch.GoogleAdMobAds,但据我所知,这些不需要在发布版本中包含任何特殊参数。

我已经压缩了一个没有调试的分发版本并发送给Apple批准,但我认为它会产生与我的adhoc版本相同的问题,因此将被拒绝。希望一些Mono大师对此有一些了解!

这是完整的日志,包括安装和首次启动:

    Sep 30 23:58:23 Christer-sin-iPhone librariand[5904] <Error>: client process 619 does not have a valid com.apple.developer.ubiquity-container-identifiers entitlement
    Sep 30 23:58:24 Christer-sin-iPhone ubd[5905] <Notice>:
    Sep 30 23:58:27 Christer-sin-iPhone librariand[5904] <Notice>: MMe quota status changed: under quota
    Sep 30 23:58:28 Christer-sin-iPhone installd[5365] <Error>: 0x2ffa2000 handle_uninstall: Uninstall requested by SpringBoard
    Sep 30 23:58:28 Christer-sin-iPhone installd[5365] <Error>: 0x2ffa2000 MobileInstallationUninstall_Server: Uninstalling com.myapp
    Sep 30 23:58:29 Christer-sin-iPhone ubd[5905] <Error>: Sep 30 23:58:29  SecTrustEvaluate  [leaf AnchorTrusted]
    Sep 30 23:58:30 Christer-sin-iPhone installd[5365] <Error>: 0x30b000 filter_attributes: Info.plist keys requested via MobileInstallationLookup/Browse in client Xcode (via mobile_installation_proxy) were not found in MobileInstallation's cache. Please file a bug requesting that these keys be added: <CFBasicHash 0x1e5851c0 [0x3b76a100]>{type = mutable set, count = 18,
    entries =>
    0 : <CFString 0x3b7569f4 [0x3b76a100]>{contents = "CFBundlePackageType"}
    1 : <CFString 0x1e57a800 [0x3b76a100]>{contents = "BuildMachineOSBuild"}
    2 : <CFString 0x3b757a44 [0x3b76a100]>{contents = "CFBundleResourceSpecification"}
    3 : <CFString 0x1e57b060 [0x3b76a100]>{contents = "DTPlatformBuild"}
    4 : <CFString 0x3b754794 [0x3b76a100]>{contents = "DTCompiler"}
    5 : <CFString 0x3b756564 [0x3b76a100]>{contents = "CFBundleSignature"}
    6 : <CFString 0x3b757224 [0x3b76a100]>{contents = "DTSDKName"}
    7 : <CFString 0x1e5782a0 [0x3b76a100]>{contents = "NSBundleResolvedPath"}
    8 : <CFString 0x3b753eb4 [0x3b76a100]>{contents = "UISupportedInterfaceOrientations"}
    10 : <CFString 0x3b75be84 [0x3b76a100]>{contents = "DTXcode"}
    13 : <CFString 0x3b75beb4 [0x3b76a100]>{contents = "CFBundleInfoDictionaryVersion"}
    16 : <CFString 0x3b759304 [0x3b76a100]>{contents = "CFBundleSupportedPlatforms"}
    17 : <CFString 0x1e57b0a0 [0x3b76a100]>{contents = "DTXcodeBuild"}
    18 : <CFString 0x1e5782c0 [0x3b76a100]>{contents = "UIStatusBarTintParameters"}
    19 : <CFString 0x3b757e54 [0x3b76a100]>{contents = "DTPlatformVersion"}
    20 : <CFString 0x3b75abf4 [0x3b76a100]>{contents = "DTPlatformName"}
    21 : <CFString 0x3b75bc84 [0x3b76a100]>{contents = "CFBundleDevelopmentRegion"}
    22 : <CFString 0x1e57b080 [0x3b76a100]>{contents = "DTSDKBuild"}
    }
    Sep 30 23:58:31 Christer-sin-iPhone mobile_installation_proxy[5908] <Error>: 0x3c390b88 MobileInstallationSlowLookupBreak: MobileInstallationBrowse was called without specifying an options dictionary containing kLookupReturnAttributesKey. This usage is inefficient and may cause performance problems. Break on MobileInstallationSlowLookupBreak to debug.
    Sep 30 23:58:31 Christer-sin-iPhone mobile_installation_proxy[5908] <Error>: 0x3c390b88 MobileInstallationSlowLookupBreak: Existing options dictionary: <CFBasicHash 0x1cd81790 [0x3b76a100]>{type = mutable dict, count = 1,
    entries =>
    0 : <CFString 0xa51a0 [0x3b76a100]>{contents = "RequestProxiedFor"} = <CFString 0x1cd818f0 [0x3b76a100]>{contents = "mtouch"}
    }
    Sep 30 23:58:38 Christer-sin-iPhone installd[5365] <Error>: 0x2ffa2000 handle_install: Install of "/var/mobile/Media/PublicStaging/NDC2010.app" requested by mobile_installation_proxy
    Sep 30 23:58:38 Christer-sin-iPhone installd[5365] <Error>: 0x2ffa2000 MobileInstallationInstall_Server: Installing app com.myapp
    Sep 30 23:58:39 Christer-sin-iPhone installd[5365] <Error>: Sep 30 23:58:39  SecTrustEvaluate  [leaf CriticalExtensions IssuerCommonName]
    Sep 30 23:58:41 Christer-sin-iPhone timed[5457] <Notice>: (Note ) CoreTime: Received timezone "Europe/Oslo" from "Location"
    Sep 30 23:58:41 Christer-sin-iPhone timed[5457] <Notice>: (Note ) CoreTime: Current mcc: '242' simulated:'0'.
    Sep 30 23:58:41 Christer-sin-iPhone timed[5457] <Notice>: (Note ) CoreTime: Not setting time zone to Europe/Oslo from Location
    Sep 30 23:58:42 Christer-sin-iPhone installd[5365] <Error>: 0x2ffa2000 MobileInstallationInstall_Server: Staging: 0.43s; Waiting: 0.00s; Installation: 4.41s; LS Sync: 0.12s; Overall: 4.96s
    Sep 30 23:58:42 Christer-sin-iPhone kernel[0] <Debug>: launchd[5911] Builtin profile: syncdefaultsd (sandbox)
    Sep 30 23:58:44 Christer-sin-iPhone installd[5365] <Error>: 0x2ffa2000 filter_attributes: Info.plist keys requested via MobileInstallationLookup/Browse in client Xcode (via mobile_installation_proxy) were not found in MobileInstallation's cache. Please file a bug requesting that these keys be added: <CFBasicHash 0x1e692820 [0x3b76a100]>{type = mutable set, count = 18,
    entries =>
    0 : <CFString 0x3b7569f4 [0x3b76a100]>{contents = "CFBundlePackageType"}
    1 : <CFString 0x1e58c4a0 [0x3b76a100]>{contents = "BuildMachineOSBuild"}
    2 : <CFString 0x3b757a44 [0x3b76a100]>{contents = "CFBundleResourceSpecification"}
    3 : <CFString 0x1e578200 [0x3b76a100]>{contents = "DTPlatformBuild"}
    4 : <CFString 0x3b754794 [0x3b76a100]>{contents = "DTCompiler"}
    5 : <CFString 0x3b756564 [0x3b76a100]>{contents = "CFBundleSignature"}
    6 : <CFString 0x3b757224 [0x3b76a100]>{contents = "DTSDKName"}
    7 : <CFString 0x1e5761a0 [0x3b76a100]>{contents = "NSBundleResolvedPath"}
    8 : <CFString 0x3b753eb4 [0x3b76a100]>{contents = "UISupportedInterfaceOrientations"}
    10 : <CFString 0x3b75be84 [0x3b76a100]>{contents = "DTXcode"}
    13 : <CFString 0x3b75beb4 [0x3b76a100]>{contents = "CFBundleInfoDictionaryVersion"}
    16 : <CFString 0x3b759304 [0x3b76a100]>{contents = "CFBundleSupportedPlatforms"}
    17 : <CFString 0x1e578240 [0x3b76a100]>{contents = "DTXcodeBuild"}
    18 : <CFString 0x1e57a970 [0x3b76a100]>{contents = "UIStatusBarTintParameters"}
    19 : <CFString 0x3b757e54 [0x3b76a100]>{contents = "DTPlatformVersion"}
    20 : <CFString 0x3b75abf4 [0x3b76a100]>{contents = "DTPlatformName"}
    21 : <CFString 0x3b75bc84 [0x3b76a100]>{contents = "CFBundleDevelopmentRegion"}
    22 : <CFString 0x1e578220 [0x3b76a100]>{contents = "DTSDKBuild"}
    }
    Sep 30 23:59:14 Christer-sin-iPhone NDC2010[5915] <Warning>: MonoTouch: Failed to open /private/var/mobile/Applications/38C5A938-BBDF-4BCD-AD25-1220671DDF63/NDC2010.app/MonoTouchDebugConfiguration.txt
    Sep 30 23:59:14 Christer-sin-iPhone kernel[0] <Debug>: launchd[5915] Builtin profile: container (sandbox)
    Sep 30 23:59:14 Christer-sin-iPhone kernel[0] <Debug>: launchd[5915] Container: /private/var/mobile/Applications/38C5A938-BBDF-4BCD-AD25-1220671DDF63 (sandbox)
    Sep 30 23:59:15 Christer-sin-iPhone NDC2010[5915] <Warning>: Application windows are expected to have a root view controller at the end of application launch
    Sep 30 23:59:15 Christer-sin-iPhone NDC2010[5915] <Critical>: Terminating runtime due to unhandled exception
    Sep 30 23:59:16 Christer-sin-iPhone ReportCrash[5917] <Notice>: Formulating crash report for process NDC2010[5915]
    Sep 30 23:59:16 Christer-sin-iPhone com.apple.launchd[1] (UIKitApplication:com.myapp[0x9886][5915]) <Warning>: (UIKitApplication:com.myapp[0x9886]) Job appears to have crashed: Abort trap: 6
    Sep 30 23:59:16 Christer-sin-iPhone backboardd[52] <Warning>: Application 'UIKitApplication:com.myapp[0x9886]' exited abnormally with signal 6: Abort trap: 6
    Sep 30 23:59:16 Christer-sin-iPhone ReportCrash[5917] <Error>: libMobileGestalt copySystemVersionDictionaryValue: Could not lookup ReleaseType from system version dictionary

1 个答案:

答案 0 :(得分:1)

更新

这已在最新的GoogleAdMobAds Bindings

上修复

是的,你的问题是Admob绑定,在发布版本上检索大小时出现问题(感谢btw :)),这个类是问题GADAdSizeCons,所以做这样的事情

var ad = new GADBannerView(GADAdSizeCons.Banner, new PointF(0,0))
{
    AdUnitID = "Your Id",
    RootViewController = this
};

只会在release builds on real device崩溃,我今天在Xamarin上打开了一个关于此问题的错误,所以我希望很快就会解决这个问题:)

所以这是解决方法

好的,等我们等你需要手动手动创建GADSize struct,例如,如果你需要一个iPhone Portrait横幅,你就可以这样做

GADAdSize gsize = new GADAdSize()
{
    flags = 0,
    size = new System.Drawing.SizeF(320, 50)
};

var ad = new GADBannerView(gsize, new PointF(0,0))
{
    AdUnitID = "Your Id",
    RootViewController = this
}; 

以下是值

  

横幅: 标志:0 尺寸:{宽度= 320 ,高度= 50 < /强>}

     

FullBanner: 标志:0 尺寸:{宽度= 468 ,高度= 60 < /强>}

     

排行榜: 标志:0 尺寸:{宽度= 728 ,高度= 90 < /强>}

     

MediumRectangle: 标志:0 尺寸:{宽度= 300 ,高度= 250 < /强>}

     

摩天大楼: 标志:0 尺寸:{宽度= 120 ,高度= 600 < /强>}

此解决方法的缺点是,您只能创建上述尺寸,如果您尝试创建Custom Size,则无法向您投放广告

希望这有助于

亚历