顯示具有 iOS 標籤的文章。 顯示所有文章
顯示具有 iOS 標籤的文章。 顯示所有文章

2014年11月20日 星期四

【iOS】上架警告 - ERROR ITMS-9000 (會不定期更新)


                                                                 ERROR ITMS-9000







這個編號的資訊,好像隨時會變…  這次換成是公告資訊用XD

這次的9000是說,我這支app沒有支援64-bit,但這不是很大的問題,這只是提醒開發者無加載arm64。

但繼上次的  64-Bit 移轉指南 for Cocoa Touch  這篇文章,看來apple真的很想淘汰32-bit…

時間:2014.11/21

----------------------------------------------------------------------------------



【iOS】上架錯誤 - ERROR ITMS-4238



                                                             ERROR ITMS-4238




也就是說,對這個app來說已經有一個相同版號的預上架的ipa,所以只要改一下Build的號碼就好。

建議有兩種方法可以解決,要看各位的版號如何設定

----------------------------------------------------------------------

如果是使用以下方式的:

Version    (CFBundleShortVersionsString)  ,  ex : 1.3
Build         (CFBundleVersions)  ,  ex : 1.3.1

Build只要改成1.3.2就可以上架審核了!!!!

----------------------------------------------------------------------

如果是使用以下方式的:

Version    (CFBundleShortVersionString)  ,  ex : 1.3.1
Build         (CFBundleVersion)  ,  ex : 234

Build只要改成235就可以上架審核了!!!!

----------------------------------------------------------------------

Version 代表發行版本號,是有三個句號分隔的整數的字串,一般來說,常在iTunes中看到的軟體版號也是這組數字。

第一個整數代表   重大修改
第二個整數代表   新增功能
第三個整數代表   維運更新

Build 代表內部版本號,比較像是開發者在做記錄用的。

2014年11月6日 星期四

【iOS】64-Bit 移轉指南 for Cocoa Touch


米布的工作夥伴們急急的發來這封信:

       Apple 終於下令 2015 年 2 月後,要求開發者提交 App Store 的 Apps(不論是新 Apps 或是更新版)也要用 64-bit Code ,並必須用 iOS 8 SDK!

參考網址:http://www.newmobilelife.com/2014/10/21/ios-64-bit-code-support-feb-2015/

----------------------------------------------------------------

       看到這篇文章,心裡開心了一下,嘿嘿,這下就不用再做iOS 7 sdk以下的支援了!!!!(好感人的一個政策~~想必從3.0一路開發到現在的開發者應該會灑花慶祝吧!!!!) 就很開心的跑去開發者文件那瞧瞧那令人開心的政策~雖然我覺得那是不可能的事 =  =

參考網址:https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaTouch64BitGuide/Introduction/Introduction.html

        蘋果在iPhone 上加載A7晶片,隨著A7的問世,處理器的支援的部分,也漸漸的從32-Bit ARM 轉向64-Bit ARM 架構,並針對LLVM編譯器進行了優化。

        在iOS 7還沒出來之前都是使用32-Bit的架構,意思就是說,如果開發者沒有將App的基底架構轉成64-Bit,那就代表內存管理就要愈謹慎,很有可能會影響到執行的效能及功能損壞。
        
         方法就等米布最近看能不能轉出心得來了,畢竟…有很多第三方套件還是會有遇到這種問題。先試試看後再和大家分享囉~

-------------------------------2014.11/21 更新---------------------------------

連上傳更新的Archive都不斷的在放送這新資訊,請看【iOS】上架警告 - ERROR ITMS-9000 (會不定期更新)



2014年7月28日 星期一

【iOS】處理小技巧

常會在在 JSON格式轉出為NSDictionary中看到<null>,又不知道該怎麼處理,也不能當nil處理。

以下為正解 :


if ([[json_profile objectForKey:getKey] isEqual:[NSNull null]]) {}

又學到一招XDD


2014年6月26日 星期四

【iOS】Apple幫你做運動偵測

目前可以使用的機種如下:

A7 晶片   64 位元架構 + M7 動作感應協同處理器


iPad Air
iPad mini Retina


iPhone 5s


















參考資料:Apple iPhoneApple iPad

M7可以在背景偵測使用者的活動狀況(跑步、走路、搭車…),又離自製的運動軟體邁進啦!!!!

需加入的Framework為CoreMotion API
其實這次的API整合了蛇螺儀、指南針、加速度計、活動狀態計步


既然是要用到M7的新玩意,自然就只先針對活動狀態計步這兩個部分來說。



//先行偵測看這台機器能不能使用m7晶片的功能

CMMotionActivityManager *motionActivityManager = [[CMMotionActivityManager alloc] init];
    

    if (![CMMotionActivityManager isActivityAvailable]) 

          //沒有的話,只好把此功能偵測移除
    else  {
          [motionActivityManager startActivityUpdatesToQueue:<(NSOperationQueue *)> withHandler:<^(CMMotionActivity *activity)handler>];


就可以抓出現在機器的活動資料

現在的活動頻率 - confidence
現在的活動類型 - unknown、stationary、walking、running、automotive
現在的活動時間 - startDate



現在來說說計步


[stepCounter startStepCountingUpdatesToQueue:<(NSOperationQueue *)> updateOn:<(NSInteger)> withHandler:<^(NSInteger numberOfSteps, NSDate *timestamp, NSError *error)handler>];

                    }



Easy to get Data!!!

2014年6月19日 星期四

【iOS】不要睡著啊!!iDevice~


嘿嘿,有的時候Demo App常會進入休眠模式,只好找方法來讓它不要睡著。

只要設定以下的就可以解決這個辦法。


在各別的畫面上:

- (void) viewWillAppear:(BOOL)animated
{
    [[UIApplication sharedApplication] setIdleTimerDisabled: YES]; 
     // 讓iOS不要睡著了
}

- (void) viewWillDisappear: (BOOL) animated
{
    [[UIApplication sharedApplication] setIdleTimerDisabled: NO]; 
    // 縮小時就讓iOS可以休眠
}


如果要讓app從頭到尾都不休眠的話,就加在


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions



參考連結:基廉列克雜記本

2013年10月27日 星期日

【iOS】AppleDoc - 利用註解產生文件器


寫技術文件是一件很煩人的事,對於程式設計師真的是一個很大的困擾…

 Appledoc

        產出來的文件(docset、html)會像Apple提供的官方文件的格式,好閱讀,也好保存。



那要如何安裝這好用的工具呢~

要先打開工程師的好朋友 - 終端機(Terminal) ,敲下以下指令:

MibuiMac:~ apple$ git clone git://github.com/tomaz/appledoc.git (利用git下載遠端的執行檔)

MibuiMac:~ apple$ cd appledoc (進入appledoc 內)

MibuiMac:appledoc apple$ sudo sh install-appledoc.sh (安裝appledoc.sh 到電腦中)


米布是沒有遇到Xcode錯誤訊息,可以參考Anistar版大寫的內容

接下來是重頭戲了~

安裝好後,就可以來生文件了。

但前提是必須將註解,先變成Appledoc可以解讀的格式,可以follow Anistar版大寫的內容

appledoc --output /Users/apple/Desktop/Mibu/文案/程式文件 --project-name Test --project-company Mibu --company-id tw.com.mibu --no-warn-undocumented-object --keep-intermediate-files /Users/apple/Desktop/Mibu/程式碼/Test

--output :輸出文件的位置
--project-name:秀在文件上的專案名
--project-company :秀在文件上的公司名
--company-id:公司的apple id
--keep-intermediate-files :需要產生文件的專案資料夾

到輸出的資料夾查看,完成~



參考網址:Anistar

2013年10月24日 星期四

【iOS】鋸齒圖片處理

Rotation jagged image ios

最近做一個專案是需要把東西轉來轉去的,但怎麼轉總是會有鋸齒出現,還異常的明顯…

嘿嘿,找到了一個比較快速的方法可以解

但要先改要轉的圖的位置,多加1ptx...  ex : [image setFrame:CGRectMack(1,1,200,200)];

但聽同事說很吃效能,只好先放著,之後再來處理了。

參考資料:http://markpospesel.wordpress.com/2012/03/30/efficient-edge-antialiasing/

2013年10月7日 星期一

【iOS7】和iOS6's xib相容


大家一定有不同版本xib相容的問題

只要在UIViewController上加上這個

if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)])

            self.edgesForExtendedLayout = UIRectEdgeNone;


就可以解決大半NavigationBar遮著內容的問題。

資料來源:http://www.richiestyle.org/?p=252

【iOS 7】Custom Cell

iOS 7 的新玩法,和iOS 6有著很大的不同。

米布在客製化TableCell上所有的資料在iOS7看不見了,但還是可以做了觸發的動作。

原因在於iOS7的TableCell上多了一層的UIScrollerView。

直接將自訂的物件放上TableCell是不行的,會出現啥都看不見的情況。

所以把物件加在TableCell.contentView就可以囉 ^  ^

資料來源:http://blog.csdn.net/mad2man/article/details/11933359

2013年9月3日 星期二

【iOS】Draw 高解析 Image


米布我很喜歡用組合的方式畫圖…

最近有個很大的難題…

就是畫出來的圖都有很醜的毛邊,看起來就很不美觀 =  =

嘿嘿~

還好我找出解答了!!!

就是在  UIGraphicsBeginImage 這邊動個小手腳~解答如下:


UIGraphicsBeginImageContextWithOptions(imageSize, NO, [[UIScreen mainScreen] scale]);

依照讀取到機器的DPI的大小來決定是否要將圖的解析度調高~


  1. 完全不用管收到的圖是@1x還是@2x
  2. 利用最低的@1x就可以達到@2x的效果
  3. 也可以客製圖的解析度 (提醒:解析度太高,可是會讓機器跑不動而造成crash)

整個就大大的縮減圖在專案的負擔~

哈,是不是很棒呢~

2013年5月29日 星期三

【iOS】UISplitViewControl

      米布最近的專案有需要用到SildBar的功能…還好的是寫iPad版的,它有現有的套件"UISplitViewcontrol",但爬了好多文發現這個元件是寫在Window底下的(天啊!!!)

      意思就是…使用者一開始看到的畫面是…


     但我的專案是需要"登錄->內容(UISplitViewControl)"…

     經過多方努力…終於找到了,實驗之後是可以使用的喔。開放程式碼如下:


    當然前提是要先產生這些頁面,其實只要叫Xcode生成好後(也就是開一個新的且以UISplitViewControl為底的專案…程式碼就可以不用自已寫了),copy到自已定義的ViewController就好,整個就方便多了。

    但現在還沒寫到回原來的登錄頁,等寫好後上來分享!!!!

2013年5月27日 星期一

【iOS】錯誤修改 - PCH file built from a different branch




     米布現在有很多專案是需要將之前iOS6之前的版本,現在都一一的要改成新舊版都可以符合的。
     
     剛好遇到這個問題  "PCH file built from a different branch"

     其實不用太擔心啦,這個只要清空專案就可以了(command + shift + K)即可。好像是之前所Bulid的資料還在,且和現在的Xcode有衝突到,所以…只要清空重跑就可以啦~