iOS 9의 새로운 경고 :“모든 비트 코드가 삭제됩니다”
내 앱의 Google 프레임 워크에 대한이 새로운 경고가 있습니다.
(null) : 긴급 : '/ Users / myname / Library / Mobile Documents / com ~ apple ~ CloudDocs / foldername / appname / GoogleMobileAds.framework / GoogleMobileAds (GADSlot + AdEvents.o)'가 비트 코드없이 빌드되었으므로 모든 비트 코드가 삭제됩니다. . 비트 코드 활성화 (Xcode 설정 ENABLE_BITCODE)로 다시 빌드하거나 공급 업체로부터 업데이트 된 라이브러리를 얻거나이 대상에 대한 비트 코드를 비활성화해야합니다. 참고 : 이것은 나중에 오류가 될 것입니다.
Xcode 7 은이 같은 개념에 대해 약 204 개의 경고를 표시 하며이 문제를 해결할 수 없습니다. 또한 내 앱에서 네트워크에 액세스하는 데 문제가 있습니다. 이것은 디버깅 영역의 오류입니다.
-canOpenURL : URL에 대해 실패 : "kindle : // home"-오류 : "이 응용 프로그램은 체계 종류를 쿼리 할 수 없습니다"
이 모든 문제는 iOS 8에 없었습니다.
라이브러리가 비트 코드없이 컴파일되었지만 비트 코드 옵션이 프로젝트 설정에서 활성화되어 있습니다. 말 NO
에 Enable Bitcode
경고를 제거 할 대상 빌드 설정 및 라이브러리 빌드 설정한다.
비트 코드 활성화가 필요한지 궁금한 경우 :
iOS 앱의 경우 비트 코드가 기본값이지만 선택 사항입니다. watchOS 및 tvOS 앱의 경우 비트 코드가 필요합니다. 비트 코드를 제공하는 경우 앱 번들의 모든 앱 및 프레임 워크 (프로젝트의 모든 대상)에 비트 코드가 포함되어야합니다.
https://help.apple.com/xcode/mac/current/#/devbbdc5ce4f
Xcode 7 이후에는 비트 코드 옵션이 기본적으로 활성화됩니다. 라이브러리가 비트 코드없이 컴파일되었지만 비트 코드 옵션이 프로젝트 설정에서 활성화 된 경우 다음을 수행 할 수 있습니다.
- 비트 코드로 라이브러리를 업데이트하십시오.
- 대상 빌드 설정 에서 비트 코드 를 활성화하려면 NO라고 말 하십시오.
그리고 라이브러리 빌드 설정은 경고를 제거합니다.
자세한 내용 은 개발자 라이브러리의 비트 코드 설명서 를 참조하십시오 .
그리고 WWDC 2015 세션 102 : "플랫폼 상태"
그 문제를 피하기위한 나의 경우 :
더 낮은 버전이 아닌 Xcode 7을 다루고 있는지 확인하십시오 . 하위 버전에서는이 플래그가 없습니다.
설정 : 프로젝트> 빌드 설정> 모두> 빌드 옵션> 비트 코드 사용 = 아니오
방법 canOpenUrl
이 iOS 9 (개인 정보 보호로 인해)에서 변경되었으며 더 이상 사용할 수 없습니다. 배너 공급자는 설치된 앱을 확인하여 이미 설치된 앱의 배너가 표시되지 않도록합니다.
그것은 모든 로그 문장을 제공합니다
-canOpenURL : URL에 대해 실패 : "kindle : // home"-오류 : "이 응용 프로그램은 체계 종류를 쿼리 할 수 없습니다"
공급자는이를 위해 논리를 업데이트해야합니다.
설치된 앱 / 사용 가능한 구성표를 쿼리해야하는 경우 info.plist
파일 에 추가해야 합니다.
'LSApplicationQueriesSchemes'키를 plist에 배열로 추가하십시오. 그런 다음 'kindle'과 같은 배열에 문자열을 추가하십시오.
물론 이것은 실제로 배너 광고에 대한 옵션은 아니지만 (동적이므로) 자신의 앱이나 Twitter 및 Facebook과 같은 특정 다른 앱에 대해서는 여전히 그런 식으로 쿼리 할 수 있습니다.
canOpenUrl : 메소드의 문서 canOpenUrl :
LSApplicationQueriesSchemes 키에 대한 설명서
당신이 사용하는 경우 CocoaPods을 하고 모든 라이브러리를 사용하지 않도록 비트 코드 싶지는 Podfile에서 다음 명령을 사용하여
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end
고지 사항 : 자동화 된 프로세스가 필요한 지속적인 통합 워크 플로를 지원하는 사용자를위한 것입니다 . 그렇지 않은 경우 Javier의 답변에 설명 된대로 Xcode를 사용하십시오 .
이것은 ENABLE_BITCODE = NO
명령 줄을 통해 설정하는 데 도움이되었습니다 .
find . -name *project.pbxproj | xargs sed -i -e 's/\(GCC_VERSION = "";\)/\1\ ENABLE_BITCODE = NO;/g'
이것은 Xcode 버전에서 불안정 할 수 있습니다. Xcode 7.0.1 및 Cordova 4.0 프로젝트의 일부로 테스트되었습니다.
canOpenURL 실패와 관련된 문제를 해결합니다. 이것은 iOS9의 새로운 App Transport Security 기능 때문입니다
이 문제를 해결하려면이 게시물을 읽으십시오 http://discoverpioneer.com/blog/2015/09/18/updating-facebook-integration-for-ios-9/
이 문제는 최근 Google에서 수정했습니다 (2010 년 11 월) . https://code.google.com/p/analytics-issues/issues/detail?id=671를 참조 하십시오 . 그러나 좋은 수정으로 더 많은 버그가 발생합니다. :)
https://developers.google.com/analytics/devguides/collection/ios/v2에 나열된 초기화 방법을 따라야합니다 .
최신 지침은 포드에 포함되지 않은 유틸리티를 참조하므로 두통을 줄 것입니다. 아래는 cocoapod와 함께 실패합니다.
// Configure tracker from GoogleService-Info.plist.
NSError *configureError;
[[GGLContext sharedInstance] configureWithError:&configureError];
NSAssert(!configureError, @"Error configuring Google services: %@", configureError);
참고 URL : https://stackoverflow.com/questions/30848208/new-warnings-in-ios-9-all-bitcode-will-be-dropped
'Programming' 카테고리의 다른 글
Visual Studio 2017 오류 : 프로그램을 시작할 수 없습니다. 현재 상태에서 작업이 유효하지 않습니다 (0) | 2020.02.23 |
---|---|
TSQL에서 줄 바꿈 바꾸기 (0) | 2020.02.23 |
자바 스크립트는 날짜에 선행 0을 추가합니다 (0) | 2020.02.23 |
Java에서 (a * b! = 0)이 (a! = 0 && b! = 0)보다 빠른 이유는 무엇입니까? (0) | 2020.02.23 |
SQL Server 쿼리-DISTINCT를 사용하여 COUNT (*) 선택 (0) | 2020.02.22 |