① iOS 编译报错怎么办
1.编译iPad真机时,选择了 Architetures:Standard(armv6) BaseSDK:iPhoneDevice3.2 TargetDeviceFamily:iPad.
若编译出现如下错误:
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
则修改 GCC4.2CodeGeneral区域中的ComplieForThumb为非选中.
已经有了开发者证书及私钥后,可直接在越狱的手机上调试.
2. 编译链接时, "_OBJC_CLASS_$_xxx", referenced from:可能需要重新建立某个类的文件.
或者:选择项目名,在detail列表中的target列(显示为一个又圆圈),把这个文件的复选选中,或者再次选中.以把它加入到这个target里面来.
3.在sdk4.0及以上使用RegexKitLite报'captureCount' was not declared in this scope错误,是在非.m文件中使用了它的原因.
4.there is no sdk with the name or path.
从网上down的开源代码,结果运行的时候常出现这样的错,并且在deployment中没有iosdeploymenttarget选项.
尝试 Project/Edit Active Target/ 及 Set Active SDK菜单项,来回切换一下Active Configuration。
5. EXEC_BAD_ACCESS,EXC_BAD_INSTRUCTION错误,意味着这个app有内存管理的问题,一般是因为访问野指针对象造成的。
一个和内存相关的崩溃一般很难定位到源代码,因为这个恶魔可能很早就在程序中做了坏事了。假如一段有问题的代码混乱了内存结构,这样产生的蝴蝶效应可能会在之后很久才表现出来,并且总在不同的地方。所以,若有指针类型出现了不可能的变化,很可能就是因为内存结构被野指针调用混乱了。
修复一些警告后,可能就能预防一些内存错误。警告在左边靠近行号的黄色三角指出一个编译警告,你点击那个黄色的三角形,xcode可能会弹出一个“Fix-it”的建议。
EXC_BAD_ACCESS崩溃不像SIGABRT,将不会得到很明朗的错误消息。然而可以使用一个让人看到曙光的调试工具:Zombies!死亡对象工具。打开这个项目的scheme editor,选择Run 选项,然后选择Diagnosics标签。勾上Enable Zombie Objects选项。当这个zombie工具被启用之后,即使这个对象被释放了,这个对象的内存也不会被清理。所以,那块内存将会被标记为“长生不死的”。假如你试着之后又去使用这块内存,这个app能够意识到你的错误操作,并且app将会抛出“messagesent to daellocated instance”错误并且终止运行。
在工程中加入NSZombieEnabled 环境变量,并设为启用,则在 EXC_BAD_ACCESS 发生时,XCode 的 Console 会打印出问题描述中,设置方法:双击Executables 下的 可执行模组,在弹出窗口中,Variables to be set in the environment,添加 NSZombieEnabled,并设定为 YES,点击选中复选框启用此变量。
可以再加入 MallocStackLogging 来启用malloc记录,以获得更多的提示来帮助定位问题。
在gdb窗口输入 (格式: shell malloc_history <id> <address>) shellmalloc_history1436 0x5f7fcf0, 也可以在终端中去运行 就要去掉以上的shell 指令 如 malloc_history <id> <address>
应该仅当需要调试内存时,才设置上述环境变量。
注意一点:不应该一直启用zombie objects。因为这个工具将永远不会释放内存,只是简单标记一下这个内存是不死的,你最终将会在某个时候耗尽所有的内存,因为所有分配过的内存都不会得到重用。因此应该在排查内存相关的错误的时候才开启zombie objects,其他时候应该关闭它。
在xcode4中,To edit environment variables, go to Menu Proct / Edit Scheme…, select the desired configuration (you probably want 'Run') from the left sidebar first and then click on the Arguments tab. Environment variables are configurable there.
6.运行一个IPhone程序时,弹出窗口说“程序运行失败,预置描述文件已过期” 。 解决办法是,在Xcode中, window-> Orgnazier -> 你的iphone ->删除带有红*的该程序之前的Profile 。 然后从Xcode运行该程序.
7.真机编译时报 Code Sign error: The identity doesn't match any valid certificate/private key pair in the default keychain
修改工程和Targets的get infouild 中的code signing identity为空
8.调试打印
CFShow(coreFoundationThingy) will print out a description of coreFoundationThingy to the console. Output looks something like: {value = w:1186.000000 h:687.000000 type = kAXValueCGSizeType}
If NSLog() is printing something out as an NSCFType, try CFShow().
9. 编译时报 Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1,修改C/C++ Compiler Version为gcc4.2
10.this class is not key value coding-compliant for the key viewController
可能在创建了一个基于view的工程,而后把生成的viewcontroller删除了,但是在.xib中还有对它的引用,在IB中直接用delete键删除掉它就行了。
11.这台电脑上已经存在一个名为“embedded.mobileprovision”的预置文件,您是否要替换么?
http://blog.sina.com.cn/s/blog_6907b67f0100o2vw.html
12.真机调试时报failed to upload *.app
http://hi..com/%CB%E6%B7%E7_1989/blog/item/9649f49f805f05aec8eaf466.html
http://www.shouyanwang.org/thread-462-1-1.html
13.记的release时,先置delegate为nil。
一个节点不应该保留任何对不属于它的节点的引用。
14.模拟器
将xcode升级到4.3.1以后发现,ipad的模拟器,没有Home键了。Command+Shift+H就可以实现类似点击Home键的效果了。
② 如何编译打包iOS系统
选择“Build Phases”选项卡
点击红框标注的“+”按钮
3
在弹出的菜单中选择“New Run Script Phase..."
4
修改名称,单击红框标注的“Run Script",此处是为了增加编译号,所以名称我就改成了Build Number
5
在红框标注的输入框中输入:
③ ios 能编译动态库吗
一、创建FrameWork工程
新建工程,选择创建FrameWork工程或者静态库(Static Library)。
④ 有没有ios上的c语言编译器
IOS上可以使用“c++ programming”作为C语言编辑器。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
⑤ 苹果MAC系统怎么编译C语言
在 Mac OS X 下学习C语言使用 Xcode。
在 Xcode 上运行C语言程序需要先创建工程,再在工程中添加源代码。
1、 打开 Xcode,选择“Create a new Xcode project”创建一个新工程,如下图所示:
左侧是工程目录,主要包含了工程所用到的文件和资源。单击“main.c”,即可进入代码编辑模
式,这里 Xcode 已经为我们创建好了一个“Hello World”小程序。点击上方的“运行”按钮,即
可在右下角的选项卡中看到输出结果。
拓展资料
Xcode是由Apple官方开发的IDE,支持C、C 、 Objective-C、Swift等,可以用来开发 Mac OS X 和 iOS上的应用程序。Xcode最初使用GCC作为 编译器,后来由于GCC的不配合,改用LLVM。
⑥ 如何编译系统的iOS
系统的iOS是无法编译的吧
⑦ ios 打包是重新编译和运行程序吗
xcode 支持c ,oc, c++ 混编,将系统文件的扩展名.m改为.mm即可,但cpp文件必须只能使用c/c++代码,而且cpp文件include的头文件中,也不能出现obj-c的代码,用xcode编译出来的c程序是可以在ios上运行的,只要能编译通过都可以的
⑧ unity3d ios 重新编译 替换哪些
1、在Unity3d中, 创建导出 iOS、Android 项目脚本 PerformBuild.cs ,放在Editor目录下(必须),如下:
View Code
完成之后在Tools菜单下 会有 测试菜单 ,可以试一下是否可以成功导出项目。
2、创建Jenkins配置文件 build.xml 和 参数文件 settings.properties
build.xml 如下:(有其他需求,编辑此文件即可)
View Code
settings.properties 如下: (注意把下面该改成自己项目的改一下)
注:xcode5 去 /Users/<home>/Library/MobileDevice/Provisioning Profiles 目录找证书GUID
View Code
3、打开Jenkins,按如下步骤新建一个Job:
3.1、
3.2、找到 构建 -> 增加构建步骤 -> Invoke Ant
3.3、选择高级
3.4、输入 build File 路径 和 Properties 路径,然后保存job
4、现在就可以点击 立即构建 开始编译你的项目了,开始前请先退出Unity3d,否则会报错。
此外 iOS 需要MAC相关环境
⑨ ios文件编译
这是lua。
&&__sign_of_g18_enc__@@(加密的图片文件,有的用了Lzma压缩)
L:grxx__sign_of_g18_enc__(加密的luac脚本文件,有的用了Gzip压缩)
__sign_of_g18_enc__(加密的luac脚本文件)
⑩ 如何提高ios 静态库的编译速度
iPhone何打包通用静态库文件(模拟器真机都用)
1.先必须命令:
~/Library目录lion默认隐藏便用命令使其显示:
chflags nohidden ~/Library
想再让其隐藏:
chflags hidden ~/Library
2.静态库工程建立:Xcode New新project选择IOS面Framework&Library面Cocoa Touch Static Library直接next建立MtimeLibrary工程(面功能要关注简单 2数相加)
?
3.工程建立删除默认.h .m 文件自创建CountNumbers..h CountNumbers..m文件图:
4.OK选择iPhone 5.1Simulator ,Command + B 编译我Procts面找我编译模拟器运行libMtimeLibrary.a文件,选择真机(图)再编译真机运行libMtimeLibrary.a库
?
5. libMtimeLibrary.a 右键 Open in Finder找libMtimeLibrary.a所路径、面我新建项目添加.a文件测试
打终端:输入命令(路径根据自决定)
cd /Users/cash/Library/Developer/Xcode/DerivedData/MtimeLibrary-amyqbnwwzcivnyeijggzaorseihj/Build/Procts/
Procts目录ls 看:
?
再输入命令: cd Debug-iphonesimulator/
通面命令查看libMtimeLibrary.a信息
命令:lipo -info libMtimeLibrary.a
显示:
cashmatoMacBook-Pro:Debug-iphonesimulator cash$ lipo -info libMtimeLibrary.a
input file libMtimeLibrary.a is not a fat file
Non-fat file: libMtimeLibrary.a is architecture: i386
i386mac架构
再输入面命令:
cd ../
cd Debug-iphoneos/
继续通命令查看 lipo -info libMtimeLibrary.a
显示:
cashmatoMacBook-Pro:Debug-iphoneos cash$ lipo -info libMtimeLibrary.a
input file libMtimeLibrary.a is not a fat file
Non-fat file: libMtimeLibrary.a is architecture: armv7
armv7iOSjia'ge架构
我明白真机使用能模拟器使用吧
我要做要让libMtimeLibrary.a文件同i386armv7信息通用静态库文件
6. 新建MtimeLibraryDemo应用真机或者模拟器libMtimeLibrary.a CountNumbers.h文件引入进图:
?
添加CountNumbers.h文件需要调用类面调用libMtimeLibrary.a面
//
// AppDelegate.m
// MtimeLibraryDemo
//
// Created by cash on 12-3-23.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import "AppDelegate.h"
#import "CountNumbers.h"
@implementation AppDelegate
@synthesize window = _window;
- (void)dealloc
{
[_window release];
[super dealloc];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
CountNumbers *cn = [[CountNumbers alloc] init];
int count = [cn addTwoNumbers:10 :20];
NSLog(@"count:%d",count);
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
7. OK编译运行应用程序 错误篇文档关键.
?
我找刚才真机模拟器libMtimeLibrary.a目录
debug-iphoneos面基于arm6 arm7编译库文件debug-iphonesimulator文件夹面基于i386编译文件
?
10. 关键步骤:
通lipo -create 命令合并2静态库文件(-output 面/Users/cash/Desktop/test/libMtimeLibrary.a 合并路径文件名字)
lipo -create "/Users/cash/Library/Developer/Xcode/DerivedData/MtimeLibrary-amyqbnwwzcivnyeijggzaorseihj/Build/Procts/Debug-iphonesimulator/libMtimeLibrary.a" "/Users/cash/Library/Developer/Xcode/DerivedData/MtimeLibrary-amyqbnwwzcivnyeijggzaorseihj/Build/Procts/Debug-iphoneos/libMtimeLibrary.a" -output "/Users/cash/Desktop/test/libMtimeLibrary.a"
功
通命令 lipo -info libMtimeLibrary.a 知道文件已经i386armv7信息
cashmatoMacBook-Pro:test cash$ lipo -info libMtimeLibrary.a
Architectures in the fat file: libMtimeLibrary.a are: i386 armv7
cashmatoMacBook-Pro:test cash$
w