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個目標文件組合起來),花費這么多時間或許也有些道理。然而,並非完全如此……