ios應用的分發和上傳。主要分兩個步驟:一是進入開發人員帳號在iTunes Connect申請和布局一個新的應用資料 ;二是歸檔打包 上傳一:在iTunes Connect申請和布局一個新的應用資料1.準備需要的圖片資源 一張:large App icon貌似要1024*1024了(提示這麼說的);1-5張。(如果你的應用適配iPhone5,則需要4 寸螢幕的)2.進入iTunes Connect--->Manage Your Applicationsg根據相應的步驟建立一個app資料,
bundle製作其實是前面製作靜態庫的一個衍生。在靜態庫的製作中,很多時候我們的靜態庫也是帶著檔案,圖片和多媒體資源的。若只是直接加入到項目中也是可以,但是,考慮到方便管理(方便外掛程式使用者的管理),我們希望把外掛程式的資源檔打成一個包來管理。比如,我們項目中有用到的銀聯支付外掛程式。這樣我們直接添加xxxx.bundle檔案到項目中就可以,這樣在以後如果要刪除的話直接刪除一個xxx.bundle檔案就行了。當然有人也會說,那我直接在項目中建立一個group來管理也是一樣的容易。此刻,我只能很
最近要在模擬器環境下收集一些資料日誌。然後考慮到資料記載和追加功能。簡單代碼如下+(void) appString:(NSString *) s{BOOL isExit = [NLCommonUtil isExitOfFile:@"nonotextiphone"];NSString *filePath = [self FilePathInDocumentByFileName:@"nonotextiphone"];if (!isExit) { NSLog(@"%@",@"檔案不存在"
行動裝置 App左側導覽列的元素的出現,應該是在去年年中時候,看到大部分的應用實現從上下側tab到左側menu的演化。左側導覽列設計的理念的有一點說是,減少行動裝置 App的介面雍容,後來發現在web應用中也開始大量出現該設計,比如我常用的豆瓣FM,它是類似於用了左側抽屜的設計。對於一般概念的抽屜概念,Andriod倒是早有SlidingDrawer這個SDK提供的api,不過後期大量實現的都是自訂frame布局或是其他。在行動裝置
網路應用中的資料解析,因為最近的應用,無論是Android的和ios平台的,一直用也是建議用的都是Json解析,xml解析都有點被遺忘了。然後最近自己在做著玩一個ios的小應用,涉及網路資料的抓取,一些網站可能都提供了自己api平台,這些一般都是支援我們對於資料協議格式的設定的。但是後來我在找尋到一些Rss資源時,發現返回的資料都是xml格式的,因此,那就只好用xml解析了。XML解析其實這個概念出現了算夠久了,以前javaweb什麼到處都在用。這邊我們主要大致介紹下,然後在在ios編程如何使用
ios開發的前期準備就是一台mac機子。我這邊完全是一步一步來的。可能可以跳過很多一。Mac的基礎1.首先就是查看你當前的作業系統,能更新升級就升級。2.系統的很多設定,都是在喜好設定選項卡裡。主要是IME。可以下個搜狗。點擊
好幾個月沒寫東西了,今天有空寫點iOS的(我發現自己是非常不專註,安卓沒搞好,又轉而搞iOS了)。我的程式中有一個擷取使用者當前位置地址的功能。我寫了一個定位的輔助類LocationHelper,在這個類裡調用CLLocationManager,接管didUpdateToLocation事件擷取經緯度座標,然後再向後台發送座標請求返回地址。使用時,我在某ViewController裡建立一個LocationHelper類,將ViewController當成locHandler的Delegate傳
簡析 iOS 程式表徵圖的設計 本文轉載自http://uedc.163.com/5294.htmlLapon | 時間: 2011-04-25 | 14,171 Views 視覺設計程式表徵圖主要作用是為了使該程式更加具象及更容易理解,除了上述的作用外,有更好視覺效果的表徵圖可以提高產品的整體體驗和品牌,可引起使用者的關注和下載,激發起使用者點擊的慾望。表現形態在有限的空間裡表達出相對應的資訊,在iOS
如果我們需要實現版本的 app 自動更新,那麼我們需要擷取當前運行程式的版本資訊和 appstore 裡發布的最新版本資訊。當前運行程式的版本資訊,可以在 mainBundle 裡面擷取:[cpp] view
文章轉載地址:http://www.headsky.org/?p=63iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewControllerDelegate,提供了傳送簡訊的介面,可以像發送郵件那樣不用跳出程式來傳送簡訊. 介紹可參閱Message UIFramework
首先瞭解一下CGContextRef:An opaque type that represents a Quartz 2D drawing environment.Graphics
1,拿到資料庫檔案的路徑self.path = NSHomeDirectory();self.path = [path stringByAppendingPathComponent:@"Documents/data.db"];2,拿到資料庫物件,開啟資料庫,如果這個資料庫不存在,就會自動建立FMDatabase* db = [FMDatabase databaseWithPath:path]; BOOL res = [db open]; if (res == NO) {
#import <Foundation/Foundation.h>@class MyConnection;//下載協議@protocol MyConnectionDelegate <NSObject>//下載完成- (void)MyConnectionDidFinish:(MyConnection*)con Data:(NSData*)data;//下載失敗-
1、檔案的建立 -(IBAction) CreateFile{//對於錯誤資訊NSError *error;// 建立檔案管理工具NSFileManager *fileMgr = [NSFileManager defaultManager];//指向檔案目錄NSString *documentsDirectory= [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];//建立一個目錄[[NSFileManager
/*手機號碼驗證 MODIFIED BY HELENSONG*/BOOL validateMobile(NSString* mobile) { //手機號以13, 15,18開頭,八個 \d 數字字元 NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$"; NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF
1.將需要的字型庫xxx.ttf添加到工程中,注意一定要在copy bundle resources中存在,如果沒有添加上去2.在info.plist 檔案中添加 fonts provided by application 預設為array,也可以使用dictionary 添加value為 xxx.ttf 可以添加多個,使用的時候寫對應字型名字就行。如:3.在你的工程就可以直接用了。xx.font = [UIFont fontWithName:@"FZZhunYuan-M02S" size:
事件出現在iphone上有三種主要方式:通過動作、通過委託事件、通過通知。 iphone事件響應來自於UIResponder對象,而iphone通知來自於NSNotificationCenter。不必擔心如何訪問響應者的方法和屬性,因為UIResponder對象是多數UIKit對象的父級,但是NSNotificationCenter卻需要特殊訪問。 一、事件和動作
數組大致是裡面都是對象,然後根據對象裡面的一個欄位日期進行排序,然後根據日期大大小顯示在tableview上網上找到代碼數組形式 arry=[{NAME:xxx,APPLY_DATE:20121211},{NAME:xxx,APPLY_DATE:20090815},{NAME:xxx,APPLY_DATE:20111211}];NSComparisonResult compare(NSDictionary *firstDict, NSDictionary *secondDict, void
轉載: http://www.cnblogs.com/Camier-myNiuer/archive/2013/03/24/Camier.html今天晚上才終於弄明白了協議,委託。 實際上協議和委託是分不開的。有協議就必須有委託。自己寫好了協議(相當於介面),委託誰去實現呢。所以就必須有一個類去實現他。 那麼這個類就成為了 委派物件。話說,我們為什麼要弄一個協議出來呢。我說說我的見解吧。
Block可以協助我們組織獨立的程式碼片段,並提高複用性和可讀性。iOS4在UIKit中引入了該特徵。超過100個的Apple API都使用了Block,所以這是一個我們必須開始熟悉的知識。Block是什麼樣的? 你可以使用^操作符來聲明一個Block變數,它表示一個Block的開始。int num1 = 7; int(^aBlock)(int) = ^)int num2) { return num1+nunm2;