코드를 CocoaPods 라이브러리에 업로드할 때 겪은 문제 요약
코코아팟 제3자 인용 오류 업로드
- ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
- ERROR | xcodebuild: /Users/isaac/Library/Developer/Xcode/DerivedData/App-fndikxwvwpulrwgjwibzdoqkkejs/Build/Products/Release-iphonesimulator/ISGCategory/ISGCategory.framework/Headers/MBProgressHUD+ISGProgress.h:10:9: error: include of non-modular header inside framework module 'ISGCategory.MBProgressHUD_ISGProgress': '/Users/isaac/Library/Developer/Xcode/DerivedData/App-fndikxwvwpulrwgjwibzdoqkkejs/Build/Products/Release-iphonesimulator/MBProgressHUD/MBProgressHUD.framework/Headers/MBProgressHUD.h' [-Werror,-Wnon-modular-include-in-framework-module]
- NOTE | xcodebuild: /var/folders/5f/19hn47zd3gd3n7qz6l75hqzm0000gn/T/CocoaPods-Lint-20180508-13642-1ycastd-ISGCategory/App/main.m:3:9: fatal error: could not build module 'ISGCategory'
로컬 검사 코드 창고에 문제가 있는지
pod lib lint --allow-warnings --use-libraries
코드 창고에 문제가 있는지 원격 검출
pod spec lint --allow-warnings --use-libraries
원격 코드 인덱스 라이브러리에 스펙 제출
pod trunk push --allow-warnings --use-libraries
참고 자료
코드를 CocoaPods 라이브러리에 업로드
Pod 리소스 파일 Bundle의 올바른 읽기
방금 올린 후에 그림을 얻을 수 없다는 것을 발견하고 많은 방법을 시도하여 번들 등을 사용하였다
[UIImage imageNamed:] // UIImage nil
많은 자료를 찾았지만 해결되지 않았습니다. 결국 Pod 자원 파일의 정확한 Bundle 읽기에서 해결 방법을 얻었습니다. NSBundle 분류를 추가하여 그림을 얻는 데 성공했습니다.
아래 위 코드
NSBundle+ISGPodBundle.h
/**
name, podName bundlename ,
@param bundleName bundle , resource_bundles
@param podName pod
@return bundle
*/
+ (NSBundle *)bundleWithBundleName:(NSString *)bundleName
podName:(NSString *)podName;
NSBundle+ISGPodBundle.m
+ (NSBundle *)bundleWithBundleName:(NSString *)bundleName podName:(NSString *)podName {
if (bundleName == nil && podName == nil) {
@throw @"bundleName podName ";
}else if (bundleName == nil ) {
bundleName = podName;
}else if (podName == nil) {
podName = bundleName;
}
if ([bundleName containsString:@".bundle"]) {
bundleName = [bundleName componentsSeparatedByString:@".bundle"].firstObject;
}
// framwork
NSURL *associateBundleURL = [[NSBundle mainBundle] URLForResource:bundleName withExtension:@"bundle"];
// framework
if (!associateBundleURL) {
associateBundleURL = [[NSBundle mainBundle] URLForResource:@"Frameworks" withExtension:nil];
associateBundleURL = [associateBundleURL URLByAppendingPathComponent:podName];
associateBundleURL = [associateBundleURL URLByAppendingPathExtension:@"framework"];
NSBundle *associateBunle = [NSBundle bundleWithURL:associateBundleURL];
associateBundleURL = [associateBunle URLForResource:bundleName withExtension:@"bundle"];
}
NSAssert(associateBundleURL, @" bundle");
//
return associateBundleURL?[NSBundle bundleWithURL:associateBundleURL]:nil;
}
그림 가져오기 방법:
NSBundle *bundle = [NSBundle bundleWithBundleName:nil podName:@"ISGCategory"];
NSString *path = [[bundle resourcePath] stringByAppendingPathComponent:icon];
UIImage *img = [UIImage imageWithContentsOfFile:path];
참고 자료
Pod 리소스 파일의 올바른 Bundle 읽기
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.