iPhone app is region locked - iphone

First I need to mention that I'm not a developper, but I can probably work my way around enough in xcode to fix this little issue.
I submitted an application to the app store (that was developped by someone else who's not available right now), but it was rejected because it's "geolocked", meaning the application can only be accessed if you set your international "Region format" setting to Canada.
I need to know what modification I need to make in order for this app to work on all region formats. Is it a string I need to change or is it hidden in a plist file ? I have the feeling the fix is quite easy to apply.

I’ve never heard of an iPhone app using region formats to prohibit launches. I suspect your developer put this code in either out of naïveté or malice; either way, you’ll need to look for a section of code that inspects the region settings.

I'm not aware of something like "geolocking" of iOS application. The only thing you can do, which is quite close to your question, is to set in which countries is this application available. This can be set in iTunes Connect.

Related

If I localize my iPhone App, (Description Language) But don't change my app, will it be rejected?

I want to add local languages for the description of my app, and so I made a new version just so I could Localize the description. However, I did not change any of my app to be location-dependent (It's just english, and it's a rather simple resistance-color code calculator app without much text, and operates on the basis of color-codedness.) Will my app be rejected for failing to truly "localize", per se? Is this a stringent guideline or is it okay to just change the app store description language?
I don't know if Apple will reject you on that basis or not. But doing something like that could anger your customers, and I wouldn't blame them. I would suggest that you either localize everything, including the content, or localize nothing. Misleading your customers is not the path to long-term success.
Your app should not be rejected. I've done this. My app is mostly numbers which is universal. I've translated descriptions to 6 languages and the app is in the app store just fine.
Don't mislead your users. Your users are your greatest allies or enemies, depending on your attitude. If you don't respect them, they won't like you.
If you want to make a localization, create a support for multilinguality and you can add languages later on. Also, in my opinion your users should be able to choose the language they want to use your app in. As a default you can choose the language of the region. However, it's rude to localize by location and not letting the users to change their language. If you show respect towards your users you will have greater chance of success.

How to find the application launch and end time in iphone?

I am new to ios development and doing development in ios4.0.1 and xcode 3.2.3. My application should capture other application's launch time and (close) end time. how can we do this? Any help will be appreciated.
Thanks
Pushpa
For apps in the app store, the answer is "You can't". The best way to think of other applications on iOS with respect to yours is: don't. You can't access their data, you can't see if they're running, you can't control them, and you can't change them. Apps are well and truly sand-boxed as a fundamental design decision in the current setup.
About the only thing you can do is trigger their launch with a suitably formatted system URL. If a Wikipedia application has registered the scheme wiki, you might be able to launch and communicate some simple data by having the system load the URL wiki://articleName, but that's the limit. You don't even know what application will be launched, only that one has the wiki handler.
Jail-broken iOS systems are a whole different matter, but I'm assuming you're not working on those.

How do I access the iPhone's settings from my code?

All I want to do is be able to tell whether or not a user of my app is using the 24-hour clock or not. I realize that I can't set these settings, I just want to read them.
If you don't know what I'm talking about, I want to be able to read the values a user has set in the built-in "Settings" app of the iPhone. The one with the gray gears as the icon.
I tried googling a variety of searches that might provide an answer, but that didn't work. I tried looking through the documentation that Apple provides for xcode programmers, but that didn't turn anything up, either.
If you want this information in order to display a time, you don't need to query the Settings app. NSDateFormatter will format the time according to the user's settings automatically.

Is this allowed in App Store?

I am making an app for some people and they want to instantly update the app whenever they want after first submission. The changes will be like color, fonts, background color, removing a tab from tabbar...
What I was thinking was, creating a plist with entries like color, font and etc for specific views. And everytime an app starts up, it connects to a server and download the plist (if it's updated) and then load it's views according to the plist.
So for example, say the user wants to change the font from Helvetica to Arial. In plist I would have a dictionary with key named "Font" and object is the font name...So I simply update the plist with the font name "Arial" now and next time the app starts up, the font will change.
I hope I made it clear what I am trying to do. Now my question is, is this kind of thing allowed in app store? In reality, I am trying to circumvent the update system of App Store, but just wondering if it's allowed or if someone had experience doing this.
Thanks.
Your app is allowed to do these kinds of things, but be careful that your clients don't get the wrong set of expectations. The review process is not there to stifle creativity and color changes, but to prevent malicious code from running. You're not circumventing anything by using a web server to control the appearance of your app. Consider many apps which take content from the internet. You are merely taking it a step further.
The iTunes App and the App Store app have recently added a "Purchased" view without any user having to download anything new. You should be fine doing the same.
Yes, downloading content is ok. Downloading code however is not. So if the changes are due to different content you should be fine.
While nobody really knows until Apple says yea or nay, there are a few assumptions I believe to be safe:
1) If you're updating executable code (complied binary or a scripting language) you will not be accepted, and if you make it in somehow they'll yank the app and kick you off when they find out.
2) If you're updating resources (content, colors, fonts, etc.) you are probably fine, but Apple may decide to reject you anyway. Have a good case to defend yourself with if that happens.
All those changes are ok with Apple and can be performed dynamically in response to an external trigger (eg. api).
You can do whatever you want as long as you don't attempt to download and run additional code. (if you don't know what his means then you're fine). :)

reading a file saved by another app in iphone

Is there a way to have an app write a into a file and then have another app read from that file?
I mean writting into the file system of the iPhone.
I want to do this without using an internet connection. So uploading the file and then downloading from the other app is not what i mean.
Thanks!
It appears that there are ways you can, but it won't get approved by Apple if you do.
See http://blogs.oreilly.com/iphone/2008/09/sandbox-think-like-apple.html for more information.
The current sand boxing of applications does not allow this, however it appears that this may be available in future iPhone OS versions. Reference
I'm not sure exactly what circumstances you're in here, but you could register app B as a handler for a particular protocol, and have app A try to open such a link (e.g. appB://yourinfohere). It depends on how much data you want to transfer and many other things, but it might work.