1.ld: library not found for -liPhone-lib(几种情况)
答:1.Build Settings ->Build Active Architecture Only is NO not Yes
2.library not found for -XXX 的问题有可能是你的某个库的连接引用有问题,解决的办法就是在项目的target里,选中Link Binary With Libraries 里的.a或framework 取消再加入,就可以了
3.warning:directory not found option 的问题可能是framework search paths 还有Library Search Paths 里面并没有这个路径,删除即可。
4.duplicate就是重复的意思,那么看代码 要删除重复的openUDID,以及libwoa_two和sbjson冲突了,删除sbjson的点m即可.
下面是缺少框架报错,在Link Binary With Libraries 加入相应的框架即可
framework名 |
缺少框架会报的错 |
|---|---|
| GLKit.framework | _OBJC_CLASS_$_GLKView |
| _GLKMatrix4Identity | |
| MobileCoreServices.framework | _kUTTagClassMIMEType |
| _UTTypeCreatePreferredIdentifierForTag | |
| CoreVideo.framework | _CVOpenGLESTextureCacheCreateTextureFromImage |
| _CVOpenGLESTextureGetName | |
| _CVOpenGLESTextureCacheCreate | |
| _CVOpenGLESTextureCacheFlush | |
| _CVPixelBufferGetWidth | |
| _CVOpenGLESTextureGetTarget | |
| _kCVPixelBufferPixelFormatTypeKey | |
| _kCVImageBufferYCbCrMatrix_ITU_R_601_4 | |
| _CVPixelBufferGetHeight | |
| _CVBufferGetAttachment | |
| _kCVImageBufferYCbCrMatrixKey | |
| StoreKit.framework | _OBJC_CLASS_$_SKProductsRequest |
| _OBJC_CLASS_$_SKMutablePayment | |
| _OBJC_CLASS_$_SKPaymentQueue | |
| _OBJC_CLASS_$_SKStoreProductViewController | |
| _SKStoreProductParameterITunesItemIdentifier | |
| MediaPlayer.framework | _MPMoviePlayerPlaybackDidFinishNotification |
| _MPMoviePlayerPlaybackStateDidChangeNotification | |
| _OBJC_CLASS_$_MPMoviePlayerController | |
| _OBJC_CLASS_$_MPVolumeView | |
| SafariServices.framework | _OBJC_CLASS_$_SFSafariViewController |
| AdSupport.framework | _OBJC_CLASS_$_ASIdentifierManager |
| CoreMotion.framework | _OBJC_CLASS_$_CMMotionManager |
| CoreTelephony.framework | _CTRadioAccessTechnologyDidChangeNotification |
| _OBJC_CLASS_$_CTTelephonyNetworkInfo | |
| MessageUI.framework | _OBJC_CLASS_$_MFMailComposeViewController |
| _OBJC_CLASS_$_MFMessageComposeViewController | |
| CoreText.framework | _CTFramesetterCreateWithAttributedString |
| _CTFramesetterSuggestFrameSizeWithConstraints | |
| GameKit.framework | _OBJC_CLASS_$_GKAchievement |
| _OBJC_CLASS_$_GKScore | |
| _OBJC_CLASS_$_GKGameCenterViewController | |
| _OBJC_CLASS_$_GKLocalPlayer | |
| SystemConfiguration.framework | _SCNetworkReachabilityCreateWithAddress |
| _SCNetworkReachabilityGetFlags | |
| _SCNetworkReachabilityCreateWithName | |
| _SCNetworkReachabilitySetDispatchQueue | |
| _SCNetworkReachabilitySetCallback | |
| Security.framework | _SecCertificateCreateWithData |
| _SecTrustCopyExceptions | |
| _SecTrustEvaluate | |
| _SecTrustSetAnchorCertificates | |
| _SecTrustSetExceptions | |
| CoreMedia.framework | _CMTimeGetSeconds |
| _CMTimeMakeWithSeconds | |
| _CMTimeMake | |
| _kCMTimeZero | |
| OpenGLES.framework | _OBJC_CLASS_$_EAGLContext |
| _glActiveTexture | |
| CFNetwork.framework | _CFHostCreateWithName |
| _CFHostStartInfoResolution | |
| _CFHostGetAddressing |
2. ERROR ITMS-90166: "Missing Code Signing Entitlements. No entitlements found in bundle 'com.xxxxx.xxxxxxResources' for executable 'Payload/xxxxxxx.app/xxxxReaderResources.bundle/xxxxReaderResources’."
此问题出现的原因是bundle中包含了可执行文件,事实上bundle里面可执行文件不是必要的,解决办法有两种:
1. 删除info.plist里的exextable file选项,并在buildseting里将versioning system选项设置为none。 Apple Generic选 项是指使用苹果的版本系统工具来自动增加每次build的版本号,这会在打包的bundle中引入可执行文件
2.删除the Compile Source Phase and the Link Binary with Libraries Phase这两个选项,也可以阻止bundle中引入可执行文件(第一条试过第二条没有试过)
3. ERROR ITMS-90207:"Invalid Bundle.The bundle at 'xxx.app' does not contain a bundle executable.
删除第三方info.plist。
4.
the bundle is invalid .the value for ker CFBundleShortVersionString ‘0.0.9.1’in the info.plist file must be a period-separated list of at most three non-negative integers
最大不能超过3个改为0.9.1就好了
根据错误信息在网上基本找到的解决方法是设置targets中build settings中的architectures中的内容
这是因为现在提交的app必须支持64位。
6. Missing Info.plist key在Info.plist中添加对应的缺少的隐私Key值与对应的描述Value。