ios私有库影响编译时长
A. iOS 的 framework 和 ipa 文件可以反编译出源码吗
ipa 文件其实是一个压缩包,里面包括了可执行文件,资源文件等信息。
反编译的话也可以,只是你要有足够强的功底,就可以。这个至少汇编得会吧,然后可以根据反编译出来的汇编写出原来的OC程序。现在我没有发现有什么工具可以直接反编译出ELF文件的。
框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题。这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。
B. 上传 ios app到 app store 时 可以上传成功 但是过一会就变成无效二进制文件了 状态就变红了
如果你的证书都是正确的话,苹果还给你一个InValid Binary的话,苹果会给你的开发者账户发送一封邮件啊!然后把你出错的问题给你说清楚的。
你的程序上传成功以后状态会Upload Received,然后苹果会对你这个程序包进行简单的检查,如果查到你的机器访问了苹果的私有API,或者做了一些苹果不允许的东西,苹果会给你这个回复的,例如你访问设备的UDID。
我觉得你应该去看那封苹果给你回馈的邮件。
你的问题应该就是访问了设备UDID的问题,苹果从5月1号开始凡是程序访问设备的UDID马上退回。
C. ios开发高手进!!objective-c的#import 会将头文件的内容全部包含到.m文件中吗它是怎么防止交叉编译的
可以放到项目文件里编译,就可以防止交叉编译,
另外include主要需要结构上的管理,也就是通过技术管理的方法进行规避。
如果多人开发团队任意include, 你通过编译时的技术手段很难管理好
D. ios 添加私有加密方式 会被拒绝吗
被拒的原因有以下这些: 1. 条款和条件 1.1 为App Store开发程序,开发者必须遵守 Program License Agreement (PLA)、人机交互指南(HIG)以及开发者和苹果签订的任何协议和合同。以下规则和示例旨在帮助开发者的程序能获得App Store的认可
E. oracle 包太大编译时间长怎么办
一般情况下不会出现一个包编译时间很长的情况,出现何种情况一般是你的数据库慢,可能是服务器慢,也可能是网络慢,也可能是客户端慢。
先看看数据库现在在忙什么?如果现在数据库真的很忙,或者数据库出现要夯住的状态,其他的操作也慢,那么就要考虑数据库的瓶颈了,这个分析起来就麻烦了。
如果仅仅编译这个慢,其他的不那么慢,那么可能是你的机器的问题,换一台试试,有时可能你的这个用户操作过多,或者过长时间不操作,导致进程假死,这个也是有可能发生的。另外看看,是不是有人也在操作这个包,如果是的话,那么编译确实很慢。
如果是网络慢,或者服务器慢,那么就几乎真的没办法了,数据库工程师如果对系统较熟悉的可以找找看问题,不过真的没啥可以改的。
如果就是因为服务器不行,包太大,那么就分包,把一个包变成两个,标_1和_2,或者_A,_B呗。
F. ios 自己打包的动态库能上线吗
iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)? 1.先来一个必须的命令: ~/Library目录在lion下是默认隐藏的。这样很不方便。用一下命令可以使其显示: chflags nohidden ~/Library 如果想再让其隐藏,可以: chflags hidden ~/...
G. libicucore.dylib在iOS8是不是私有库,AppStore能通过吗
ipad 2升级到了ios8.1.2不能连接app store跟cpu无关。
ipad 2升了iOS8打开不了APP store可以试试一下办法:
忽略WiFi,然后重新输入密码链接WiFi。
还不行的话,连上WiFi后,把DNS改成8.8.8.8或者114.114.114.114。
还是不行的话,试试“设置---通用---还原---还原网络设置“。
H. iOS怎么定义私有属性
没有特别好的办法,把私有的属性定义在单独的头文件里,把这个头文件不要公开给别人,也就是头文件属性设置为project,不要设置为public。那么当程序库发布的时候这个头文件就不会被导出。
I. 如何提高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
J. iOS开发中可以节省50%编译等待时间的几个措施
修改一些源文件。
按下Xcode中的运行程序按钮。
观察在phone或者模拟器上的效果(我的例子中使用的是模拟器)。
跳到第一步。在我修改了一个Spotify的iOS客户端中相对较小的 Objective C 源文件之后,我记录了一下步骤(2)到步骤(3)花费的时间,直到模拟器加载完应用程序:我的家用iMac(说实话,已经很旧了)花费了82秒(平均值)。通过观察Xcode的编译流程我意识到大部分时间花费在“Linking”和“Generating dSYM file”阶段。
Linking花费了29秒
生成dSYM 花费了25秒这两个阶段占用了等待时间的(29 + 25) / 82 * 100 = 62 % 。但是,毕竟,Spotify的iOS客户端代码库是非常大的(链接器要把大约2000个目标文件组合起来),花费这么多时间或许也有些道理。然而,并非完全如此……