2017-08-30 09:09:07 gsg8709 阅读数 197
  • 使用Objective-C进行iOS移动开发

    【课程特点】 1、190节大容量课程:包含了Objective-C语言大部分知识点; 2、创新的教学模式:手把手教您iOS开发技术,一看就懂,一学就会; 3、完美贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标; 4、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间; 5、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索; 【课程内容】 包含Objective-C语言的基本数据类型,基础语法以及进阶知识。同时还讲解了流程控制、字符串、集合类型、函数和闭包等。此外、面向对象、结构体、类Class,以及手动内存管理、自动内存管理、协议与抽象类型、错误处理、iOS开发中的常见概念、Xcode操作、多媒体编程、网络编程、数据解析和加密、Sqlite数据库、多线程编程、内购等实用功能也都有涉及!

    2065 人正在学习 去看看 李发展

1. 警告:directory not found for option “xxxxxxxx” 文件路径未找到 **

  • 选择工程, 编译的 (targets)
  • 选择 Build Settings 菜单
  • 查找 Library Search Paths 和 Framework Search Paths, 删掉编译报warning的路径即OK
    详细步骤图文参考

2. missing required architecture i386 in file “xxxxxx/.a” 说明你的这个library文件是为Device (ARM架构)设计的,不支持Simulator (i386架构)

相关知识
参考stackoverfollow
arm架构问题手机的架构是为arm架构

  • armv6
    iPhone
    iPhone2
    iPhone3G第一代和第二代iPod Touch
  • armv7
    iPhone4
    iPhone4S
  • armv7s
    iPhone5
    iPhone5C
  • arm64
    iPhone5S

现在app store规定提交的应用必须包含arm64.
xcode里Architectures这个属性

这是指你想支持的指令集,比如:armv7,armv7s,或者可以用$(ARCHS_STANDARD_32_BIT)这样的参数
该编译选项指定了工程将被编译成支持哪些指令集,支持指令集是通过编译生成对应的二进制数据包实现的,如果支持的指令集数目有多个,就会编译出包含多个指令集代码的数据包,造成最终编译的包很大。
xcode工程里有Build Active Architecture Only这个属性

这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本。而设置为no时,会编译所有的版本。

编译出的版本是向下兼容的,比如你设置此值为yes,用iphone4编译出来的是armv7版本的,iphone5也可以运行,但是armv6的设备就不能运行。

所以,一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备

library not found for -lMobClickLibrary

在other link flag 里删除-l “MobClickLibrary”

我遇到的问题

微信demo下载下来运行出现 missing required architecture i386 in file “xxxxxx/libWeChatSDK.a”问题,用终端查看了一下这个库文件只支持 armv7,arm64


在终端里查看你的.a库是不是支持i386

  • 解决方法:
    找找看有没有支持i386的库文件(下载SDK,要下载的sdk里面的那个libWeChatSDK.a才有支持i386的,里面有两个文件夹 WeChatSDK_1.5WeChatSDK_1.5_OnlyIphone,选择WeChatSDK_1.5)WeChatSDK_1.5

有i386的libWeChatSDK.a

  • 使用真机测试

2.解决架构问头后在工程里出现了以下问题:Undefined symbols for architecture x86_64:”operator delete”, referenced from:+[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)
屏幕快照 2014-12-11 下午3.43.16.png

解决方法:
* 果断加上libc++.dylib

2015-09-17 14:21:23 qq_26638853 阅读数 266
  • 使用Objective-C进行iOS移动开发

    【课程特点】 1、190节大容量课程:包含了Objective-C语言大部分知识点; 2、创新的教学模式:手把手教您iOS开发技术,一看就懂,一学就会; 3、完美贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标; 4、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间; 5、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索; 【课程内容】 包含Objective-C语言的基本数据类型,基础语法以及进阶知识。同时还讲解了流程控制、字符串、集合类型、函数和闭包等。此外、面向对象、结构体、类Class,以及手动内存管理、自动内存管理、协议与抽象类型、错误处理、iOS开发中的常见概念、Xcode操作、多媒体编程、网络编程、数据解析和加密、Sqlite数据库、多线程编程、内购等实用功能也都有涉及!

    2065 人正在学习 去看看 李发展
今天一上班就update了一下项目,我了个去,有错误,然后就开始解决错误,搞了一上午都没搞出来,突然间就觉得这个错误肯定不好解决,有一定的难度,没办法,只好问旁边的一位ios大神,大神看了一眼,然后翻译错误的英文意思,瞬间我就明白错误的原因了,然后我得出的结论就是看到错误不可怕,英文不好也不可怕,解决问题的思路要对,最简单的就是专门找自己不认识的单词,然后百度一下说不定你就找到错误的原因了!
2016-07-19 09:30:45 zhg1152141567 阅读数 183
  • 使用Objective-C进行iOS移动开发

    【课程特点】 1、190节大容量课程:包含了Objective-C语言大部分知识点; 2、创新的教学模式:手把手教您iOS开发技术,一看就懂,一学就会; 3、完美贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标; 4、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间; 5、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索; 【课程内容】 包含Objective-C语言的基本数据类型,基础语法以及进阶知识。同时还讲解了流程控制、字符串、集合类型、函数和闭包等。此外、面向对象、结构体、类Class,以及手动内存管理、自动内存管理、协议与抽象类型、错误处理、iOS开发中的常见概念、Xcode操作、多媒体编程、网络编程、数据解析和加密、Sqlite数据库、多线程编程、内购等实用功能也都有涉及!

    2065 人正在学习 去看看 李发展

1.运行出现 输出objc[1027]: Class _NSZombie_OS_dispatch_group is implemented in both ?? and ??. One of the two

解决方法 NSZombies is turned on. Go to product -> scheme -> edit scheme (CMD+SHIFT+.) and under run -> diagnostics uncheck "Enable Zombies".


2.HTTPs 请求转化 

1、在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary ;

2、在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES;


2015-08-02 18:23:11 aboojan 阅读数 1451
  • 使用Objective-C进行iOS移动开发

    【课程特点】 1、190节大容量课程:包含了Objective-C语言大部分知识点; 2、创新的教学模式:手把手教您iOS开发技术,一看就懂,一学就会; 3、完美贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标; 4、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间; 5、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索; 【课程内容】 包含Objective-C语言的基本数据类型,基础语法以及进阶知识。同时还讲解了流程控制、字符串、集合类型、函数和闭包等。此外、面向对象、结构体、类Class,以及手动内存管理、自动内存管理、协议与抽象类型、错误处理、iOS开发中的常见概念、Xcode操作、多媒体编程、网络编程、数据解析和加密、Sqlite数据库、多线程编程、内购等实用功能也都有涉及!

    2065 人正在学习 去看看 李发展



以上为友盟错误信息


1. 找到当时打包应用发布时的归档文件  *.xcarchive   , 打开里面,找到  dSYMs  文件夹里面的  *.dSYM 文件,将其拷贝出来。(将它拷贝到系统根目录,方便命令行的操作)。

2. 打开终端,进入到第一步   *.dSYM 文件  所在的文件夹。

3. 点击友盟错误信息里面的内存地址,会弹出一个提示窗口,如下: 


4. 拷贝后面的一行命令,例如上图中的:
dwarfdump --arch=armv7 --lookup 0xe284b "$dSYMPath"


5. 将4步骤中的命令行复制到终端,将后面的  “$dSYMPath”  替换成当前  *.dSYM 的路径。以下是我的命令行:
dwarfdump --arch=armv7 --lookup 0xe284b jzm.app.dSYM


6. 执行命令后,会出来错误结果: 


7. 根据错误提示,就可以找到错误的地方了。



提示:
有些友盟错误信息,有多个错误地址,最好每个都执行命令试一下,这样能够更准确地找到错误地方。













iOS常见错误整理

阅读数 541

ios打包错误解决

阅读数 6215

IOS---网络错误

阅读数 584

没有更多推荐了,返回首页