Filtering all blogs tagged as "iphone."    Clear filter

Tips you need before Releasing iOS Apps to the App Store

So you have developed your next iOS and want to release it to the App Store. Here you are some useful libraries I am sure you will need to integrate at least with one of them to integrate in your app.

Here you are list of libraries:

1. iRate

The first thing you will need to integrate with is iRate, its an easy way to increase the positive reviews for your app on itunes. It encourages users to rate your app in the App Store after using it for a few days (you can customize when and how it will ask users for that). One interesting point is that it supports both iOS and Mac OS X. You can download iRate from this link and For details on how to use it, check this link.

2. Urban Airship Push Service

Urban Airship provides the ability to easily create and deliver push messages (notifications). Push messages gives your app a voice and give you the ability to deliver marketing/support/survey information to your customers from your app. You can freely signup for a developer account and have 1 million push messages per month for free.

3. TestFlight

TestFlight is a free library used to distribute beta/test versions of your iOS/Android app to team members over-the-air. Developers can manage beta testing and receive feedback from their team with its dashboard. The SDK works as well for live versions available in the App Store, i.e you can recieve feedback from your live users as well (A useful tutorial can be found here).

4. Flurry Analytics

Flurry Analytics provides important information about how and where people are using your app (most importantly downloads count). You can quickly identify your valuable users by grouping them on key characteristics such as demographics, location, language preference, and usage of selected features in your app. To use it you need to sign up then follow these steps. Flurry SDK requires linking with “Security.framework” and “SystemConfiguration.framework”. Finally sign in to see statistics. Find more details from the PDF files available with the download.

Read More

Should I fill the mobile gap with PhoneGap?

 PhoneGap is an HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores. It is open source and supports many native features over 7 mobile platforms

After trying many featured apps built using PhoneGap, I see that apps quality are quite good but some times screen flickering happens (which gives you the feel what you are using a browser).

Some stackoverflow posts shows that these flickers can be solved but I did not give it a try.

Also I felt the UI controls used in these apps were not so pretty. Though I believe some pretty Javascript UI libraries can be used, such as jquery mobile and sencha touch but I did not presonaly tried them.

Another thing I noticed is that a lot of PhoneGap apps are available for Android and iPhone only and even some of them are available just for iPhone which means that PhoneGap targets web developers who wants to make a native mobile version of their web app quickly to reach iPhone and Android users.


Phonegap evolution is very promising, it is a very good solution for web developers to create native mobile apps using technologies they already know (HTML5, Javascript). PhoneGap is really filling the mobile gap for web developers.

For native mobile developers I believe (not only me) it is better to use native SDK if they are much concerned with quality and don't want to learn web technologies.


Read More

Running iPhone Apps in the Background

iPhone OS4 has been introduced with a new important feature which is multitasking.

Multitasking and the ability to run program in the background opened a new development field for iPhone developers, so I just wanted to blog an introduction tutorial to develop an application that runs in background.

When an app According to the iOS Application Programming Guide, if the device doesn't have iPhone OS4 or later versions it will not support multitasking and the application delegate will receive the applicationWillTerminate: message instead of applicationDidEnterBackground: .

I attached a project that demonstrates the multitasking capabilities, find it here .

In The "AppDelegate" class, you will notice the new messages that the application sends to notify the delegate of its foreground/background states.

I added logging message to show the sequence of calling these messages.

In the applicationDidEnterBackground:  message you can perform some tasks to wrap up your work, and the framework only gives you a small amount of time to complete wrapping your work, so I tested that on the simulator and it gave me about 10 seconds to complete my background task until my application is purged from memory.

Also I add 2 alerts to demonstrate the new local notification feature, it's very helpful feature when it comes to alerting the user at a certain time or after a certain duration. The alerts will be registered when the AppDelegate executes applicationDidEnterBackground message.

I tried to keep it simple and quick for you to start working with background feature and local notification feature. For more info please see the reference .


Read More

Install Xcode 4.2 documentation manually1

 If you have installed the new Xcode 4.2 (only a 1.6 GB file instead of the former 4GB file), you will notice that documentation does not work properly, actually people have been complaining about it and the solution was to download the documentation from inside Xcode as stated here.

But if you are a team of iOS developers and want to download the documentation only once and install it on many machines running Xcode?
Here you are the steps:
  1. Download the documentation from Xcode from any machine (as stated here).
  2. Go the download installation (See Figure Below)
  3. Copy the "documentation set" files (it is actually packages with a lot of file so it is recommend to zip them). 
  4. Move them to the same location where you installed Xcode on the other machines
  5. Restart Xcode.
  6. Done.

Read More

SMS contact name not shown on iPhone 1


لماذا لا يظهر اسم مرسل الرسالة على الأى فون ؟


 قام الجهاز القومي المصري لتنظيم الإتصالات  يوم الخميس 6 أكتوبر 2010  بزيادة طول رقم المحمول الحالي من عشرة أرقام إلى أحد عشر رقم وذلك في إطار خطة زيادة السعة الرقمية للمحمول والتي  سبق الإعلان عنها بداية العام 2010  لتتماشى مع خطة الترقيم الجديدة.

فى نفس التوقيت ظهرت العديد من البرامج لتعديل الأرقام علي أجهزة المحمول ومنها برامج لتعديل الأرقام على جهاز الآى فون و لكن تظل مشكلة اظهار رقم المرسل فى برنامج الرسائل SMS مع جميع برامج التحويل الخاصة بالآى فون حيث نجد أن اسم مرسل الرسالة لا يظهر ولكن يظهر رقمه فقط مضاف إليه (2+) مثال:  6758600 114 20+

والغريب فى الأمر أنه عندما يتصل نفس الشخص فإن اسمه يظهر على الآى فون بطريقة سليمة مما يجعلنا نتسائل لماذا تظهر هذه المشكلة الآن ولماذا لم يتم حل هذه المشكلة بعد استخدام برامج التحويل؟

هذا ما سنوضحه فى هذا المقال بعد توضيح بعض الحقائق:


الحقيقة الأولى هى أن 2+ هو رمز الإتصال الدولى الخاص بمصر - لنكون أكثر دقة  20+ هو رمز الإتصال الدولي لمصر ولكن تم حذف الصفر لأن رقم المحمول أوله صفر أيضا - منعا لإلتقاء الصفريين  :)
تخيل معي لو كان هناك صفرين سيكون الرقم بهذا الشكل :
   6758600 114 200+

بالمناسبة "+" هى إختصار ل"00" أى أن الرقم   6758600 114 20+ يكافئ  6758600 114 0020

نعود إلى رسالتنا القصيرة SMS -  مرسل الرسالة أرسلها من داخل مصر فلماذا يظهر كود الإتصال الدولي وكأنه يتصل من خارج مصر؟

هذا ما توضحه الحقيقة الثانية هي أن خدمة الرسائل تستخدم طرق دولية لتوجيه الرسائل


حسنا لماذا كان اسم مرسل الرسالة يظهر قبل تغيير طول الأرقام ولماذا تحدث هذه المشكلة على جهاز الآى فون ولا تحدث على أجهزة أخرى مثل نوكيا؟

لكي نجيب على هذا السؤال نحتاج أن نفهم كيف يقوم جهاز مثل نوكيا بإظهار إسم المتصل (أو مرسل الرسالة)؟

وهذا يقودنا إلى طرح الحقيقة الثالثة وهى أن أغلب أجهزة نوكيا إن لم تكن كلها تقوم بالبحث عن أي اسم فى دليل الهاتف مسجل تحته رقم يتطابق مع رقم المتصل (أو مرسل الرسالة) ولكن جهاز النوكيا يطابق آخر سبعة أرقام فقط وليس كامل الرقم.

هذه الطريقة لها ميزة ولها عيب , الميزة هي أن جهاز النوكيا لن يقع فى المشكلة التى نحن بصددها وسوف يظهر اسم مرسل الرسالة والمتصل بطريقة سليمة لأنه ينظر إلى الرقم

6758600 114 20+

و الرقم  6758600 114 0

كأنهم رقم واحد لأنهم يشتركان فى آخر سبعة أرقام 6758600

عيب هذه الطريقة أن جهاز النوكيا سوف يُظهر المتصل من الرقم:

6758600 111 0

أو الرقم

6758600 100 0

على أنهما نفس الشخص.

جربها بنفسك على أى جهاز نوكيا. إتصل برقم صديقك وبدل أي رقم قبل آخر سبعة أرقام  برقم آخر ستجد أن الجهاز يظهر أنه يتصل بصديقك مع أنك تتصل برقم خطأ من الأساس!!

طبعا هذه حالة نادرة أن يكون لديك صديقان رقمهم مشترك فى آخر سبعة أرقام ولكن قد تحدث هذه المشكلة مع أجهزة نوكيا ولكن لا  تحدث أبدا مع جهاز مثل الأى فون والذى يطابق كامل طول الرقم مع مراعاة كود الإتصال الدولى وخريطة الترقيم للبلد وهذه هى الحقيقة الرابعة وهي أن أبل لم تقم بتحديث الجهاز أو نظام التشغيل  ليتوافق مع نظام الترقيم الجديد الذى أصدره الجهاز القومي لتنظيم الإتصالات ولذلك كانت الأرقام القديمة - بطول عشر أرقام - تظهر أسماء أصحابها بطريقة سليمة عند الإتصال أو إرسال رسالة.

أما بعد تغيير طول الأرقام إلى إحد عشر رقم فإن الأى فون لا يدرى شيئا عن طبيعتها ولذلك لم يستطع إظهار اسم مرسل الرسالة.


شئ واحد أخير:

الحقيقة الخامسة وهى أن هناك برنامج واحد فقط "حتى الآن" اسمه "أرقامى" يحل هذه المشكلة على الأى فون وهذه البرنامج من شركة بدر لتكنولوجيا المعلومات. البرنامج ببساطة يقوم بتكرير كل رقم ليكون منه نسختان نسخة بالكود الدولى (لتعمل مع خدمة الرسائل) ونسخة بدون كود دولى لتعمل مع المكالمات العادية و طبعا هذا الحل مؤقت لأجل غير مسمى إلى أن تقوم أبل بتحديث نظام تشغيل الأى فون ليدعم الترقيم الجديد.




 إذا اقمت بالترقية بنجاح لآخر نسخة من نظام تشغيل الآى فون 5 فلن تظهر مشكلة أسماء مرسلى الرسائل لك ولن تحتاج لآخر نسخة من برنامج أرقامى أما إذا لم تستطع الترقية (قمت بعمل جيلبريك أو فك حماية) فأنت مازلت بحاجة لتنزيل آخر نسخة من برنامج أرقامى




Read More
« Previous Entries