문제

MonoDevelop에서 지난 2년 동안 배포한 앱이 있습니다.앱에는 번들 ID가 다른 2가지 버전이 있으므로 프로비전 프로필도 2개입니다.이전에는 번들 ID를 전환하고 배포했으며 모든 것이 잘 작동했습니다.

MonoDevelop/MonoTouch(3.0.4.7/6.0.2)의 최신 업그레이드 이후에는 LLVM을 사용하여 빌드되고 디버깅이 활성화되지 않은 임시 빌드에 대해 더 이상 이 작업을 수행할 수 없습니다.개발 시간이 길어서 Monodevelop/MonoTouch 변경으로 인한 것인지, 아니면 내 프로젝트 변경으로 인한 것인지 잘 모르겠습니다.

이상한 점은 릴리스 빌드의 "디버깅 활성화"를 선택하면 모든 것이 제대로 배포된다는 것입니다.그런 다음 "--debug 및 --llvm 옵션이 충돌합니다."라는 경고를 기록합니다.소프트 디버깅이 비활성화되었습니다." 이는 디버그 옵션을 활성화해도 효과가 없음을 나타내는 것 같습니까?

질문은 다음과 같습니다.릴리스 빌드에서 디버깅을 활성화한 경우 앱이 장치에만 올바르게 배포되는 이유는 무엇입니까?

타사 콘텐츠와 관련된 유일한 변경 사항은 여기에서 새로운 Admob 바인딩을 추가했다는 것입니다.https://github.com/dalexsoto/AlexTouch.GoogleAdMobAds, 그러나 제가 아는 바로는 릴리스 빌드에 포함하기 위해 특별한 매개변수가 필요하지 않습니다.

디버깅하지 않고 배포 빌드를 압축하여 승인을 위해 Apple에 보냈지만 내 임시 빌드와 동일한 문제가 있으므로 거부될 것이라고 생각합니다.일부 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
도움이 되었습니까?

해결책

업데이트:

이것은 최신에서 수정되었습니다. GoogleAdMob광고 바인딩


예, 문제는 Admob 바인딩입니다. 릴리스 빌드에서 크기를 검색하는 데 문제가 있습니다(감사합니다 :)). 이 클래스가 문제입니다. 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 인물 사진 배너가 필요한 경우 이렇게 하면 됩니다.

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}

전체배너: 플래그: 0 크기:{너비=468, 높이=60}

리더보드: 플래그: 0 크기:{너비=728, 높이=90}

중간 직사각형: 플래그: 0 크기:{너비=300, 높이=250}

마천루: 플래그: 0 크기:{너비=120, 높이=600}

이 해결 방법의 단점은 Custom Size 광고가 게재되지 않습니다.

도움이 되었기를 바랍니다

알렉스

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top