Sharing files Between Apps on iOS Devices - objective-c

Is it possible on iOS to access another app's file data? On Android, that seems possible according to following URL.
Sharing files/ installation directory between two apps

No, that is not possible.
All iOS apps are sandboxed (at least on non-jailbroken devices), and while keychain data can be shared (between Apps that share their Bundle Seed ID), doing the same for file-based data is currently not possible.
What you CAN do is pass data to other apps by exchanging them via a server or call a URL scheme that another app has registered. Apple says:
Using a URL-based syntax, you can access data from the Web, as well as
pass information to other installed applications, such as Mail,
iTunes, and YouTube. Your own application can declare a unique URL
scheme, allowing any application to collaborate and share data with
your app.

It depends on what kind of data. In fact, iOS apps may only share keychain data. From Apple's doc :
An app ID has two parts: the team ID followed by the bundle ID search
string. The team ID is a 10-character string generated by Apple. Each
development team is assigned a unique team ID used to identify all
your apps. The team ID allows you to share keychain data between apps.
Apps with the same team ID can share data, such as usernames and
passwords. A bundle ID search string is traditionally a
reverse-domain-name style string. It’s the string you use in Xcode as
the bundle ID.
I've never done this, but there must be many tutorials on how to do this.

It is not possible to access other app's data installed on any Apple device. It is restricted by apple.
Anyways you can try it on JailBreaked devices. These operations are handled by Apple Private API's. Which you cant access in regular devices.
If you get access to them/used in your application, apple will reject your application.

Related

Disable popup when work with Shared Web Credentials (work directly)

Is there any way to work with data in shared web credentials directly, like with keychain, without showing popups on SecAddSharedWebCredential and SecRequestSharedWebCredential?
Or are there any other methods to work with it?
I want to share some data (string) between apps with different development teams.
I will recommend you to use the KeychainAccess which is a simple swift wrapper. And using Keychain is the best way to store small pieces of data that are critical to your app, like secrets and passwords.
Also the tutorial from raywenderlich would help you use the Keychain Services API.
App groups can be an option for your use case. Read below the apple API documentation and medium post
App Groups
Use a shared app group to share data/files between two/more apps or containing apps. An app group creates a secure container that multiple processes can access. Normally, each process runs in its own sandbox environment, but an app group lets both processes share a common directory.
Apple API docs - https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_application-groups
https://medium.com/#dinesh.kachhot/different-ways-to-share-data-between-apps-de75a0a46d4a
Also here is another stackoverflow post answering similar question - Communicating and persisting data between apps with App Groups

Titanium Appcelerator App (IOS) publishing issue

Hi I have uploaded my app to iTunes connect. The app is validated and submitted successfully. While publishing the app to the app store my app got rejected because of insufficient meta data
can any one tell me the reason for the same and what changes do I require to make to resolve the issue.
Metadata rejection means that the description/screenshots/search tags, that us anything apart of the IPA, which you provide in iTunes, is not as per the guideline or is not incomplete.
In the iTunes Resolution Center they will mention that issue in details. If not you can contact them through the chat option and ask for more information. Usually the Resolution Center will provide all the details.
Insufficient meta data means you might have provided invalid meta data. There are 17 guidelines given by Apple for Metadata as given below. Make sure that you are following all of them.
Apps or metadata that mentions the name of any other mobile platform will be rejected
Apps with placeholder text will be rejected
Apps with names, descriptions, screenshots, or previews not relevant to the content and functionality of the App will be rejected
App names in iTunes Connect and as displayed on a device should be similar, so as not to cause confusion
Small and large App icons should be similar, so as to not to cause confusion
Apps with App icons, screenshots, and previews that do not adhere to the 4+ age rating will be rejected
Apps with Category and Genre selections that are not appropriate for the App content will be rejected
Developers are responsible for assigning appropriate ratings to their Apps. Inappropriate ratings may be changed/deleted by Apple
Developers are responsible for assigning appropriate keywords for their Apps. Inappropriate keywords may be changed/deleted by Apple
Developers who attempt to manipulate or cheat the user reviews or chart ranking in the App Store with fake or paid reviews, or any other inappropriate methods will be removed from the iOS Developer Program
Apps that recommend that users restart their iOS device prior to installation or launch may be rejected
Apps should have all included URLs fully functional when you submit it for review, such as support and privacy policy URLs
Apps with screenshots, previews, and marketing text that do not clearly identify supplemental content or items that must be purchased separately (e.g. using IAP) will be rejected
App previews may only use video screen captures of the app, voice-overs, and textual and design overlays, or the app will be rejected
Apps with previews that display personal information of a real person without permission will be rejected
App previews may only include music that is licensed for that purpose in all selected territories
App previews that include content played or streamed via the app (e.g. iTunes playlist, YouTube streaming video) that is not licensed for use in the preview will be rejected
Finally, you have to make sure that you have provided information about how to use your application so that they can easily test the application.

Access user's phone number on iOS 7

I know that iOS 4 and 5 do not allow the access of a user's phone number since its outside the sandbox of an application (if it needs to be accepted by apple).
I would like to know whether this has changed in iOS 7 - with permissions whether it can be accessed etc.
Thanks in advance.
No. Apple APIs do not provide access to this information. What's more, attempting to get this information without asking the user is generally considered a huge breach of privacy.
"For security reasons, iPhone OS restricts an application (including its preferences and data) to a unique location in the file system. This restriction is part of the security feature known as the application's "sandbox." The sandbox is a set of fine-grained controls limiting an application's access to files, preferences, network resources, hardware, and so on."
The device's phone number is not available within your application's container.
please find apple response in this link apple response
i found some thing interesting here this
thanks

Are there any update frameworks for iOS apps?

I need to be able to update my app from within the app itself. I know Sparkle works for Mac Apps but I can't seem to find any for iOS.
Edit: I am not asking how to bypass the review process. I was thinking that there might be frameworks similar to Clutch.io that allow updates to images/documents/etc from within the app. Or things like UrbanAirship that manage in app purchase data that allows an app to be extended from the app itself.
You can't replace your app with an updated one (except through the App Store) and you can't replace parts of your app with updated parts (that would make your app's code signature invalid); you can only update stuff that's outside of your app's bundle.
You can't update the app binary yourself, the system is responsible for updating all apps.
Though, if you just want to update some data in your app you can do that for sure.
Here is what I was looking for:
http://code.google.com/p/cooliris-toolkit/
It has a class called RemoteUpdater which allows me to download zip files of images/data or whatever I like to extend my content.
Depends on your needs. If you dont want to see the app you can also do an Enterprise Deploy.
Used by corporations to distribute apps to their clients or employees.
Needs a separate Apple account which costs more.
Uses same process as deploy to appstore
Archive > Distribute > create ipa/plist > copy these to webserver with html page with link to plist and user clicks on link from Safari on iOS Device and it installs.
Going back to CArpp Store review process after that is painful.

Does apple rejects the application that reads the call history of iphone using FMDB database in iphone sdk?

I am using FMDB database to read the call history of the iphone.I need to know whether apple rejects my application if I go under this process.
Thanks to all,
Monish.
Since this is not only user's private information but also phone internal I guess Apple will reject the app. You are not supposed to access files outside your app sandbox (see point 2.6 of the linked App Store guidelines) except with the classes that Apple has provided (e.g. for accessing the phone book).