I will release the source code once tidy up it a bit. I modified some of the headers by hand instead of just class-dumping, so it is possible that the code can not be directly compiled in a standard toolchain build. I hope people with much more experience will contribute and the application will be improved. I am sure most of the bugs I mention here are easy to fix, or even the technics I am using can be improved dramaticaly.
Actually, to be honest, I implemented this application to learn Objective C . Yeah, this is my first Objective C application which actually serves to a purpose and I believe it can be really useful for everyone.
Built and tested on iPhone firmware 2.0.1. It would be great to have feedback about how it works in different firmwares.
I had read that some functions I was using were removed with 2.1 firmware. I had not tested but even if the program works, you may have to open the mobile SMS application manually once you chose to export the text as new SMS.
Be aware that this version is the first public beta. I tested it a lot in my own iPhone and I never had serious problems but still, it might cause some problems for someone else, like corrupting some files mentioned below, or making your girlfriend/boyfriend leave you or make your dog eat your shoes, anything might happen
This application modifies two system files: notes.db and com.apple.mobileSMS.plist file. Only new entries are made to notes.db file and if CopierciN somehow corrupts this file, it should be possible to correct this problem by just deleting the corrupted entry from Notes application. As this version is just a beta, you might want to backup this file before using CopierciN.
The mentioned plist file does not seem to hold too much of an important data as far as I see. If you have unsent short messages which you do not want to lose, it is better to backup this file too. You can restore the backup after you use CopierciN.
notes.db file resides in /var/mobile/Library/Notes and com.apple.mobileSMS.plist file is in /var/mobile/Library/Preferences folder.
Besides them, saving the text as a regular file just overwrites the file at the given path. Make sure that you are not overwriting any important data.
- Selection highlighting is very buggy, but usually not a big obstacle:
- You might see a selection is made when you are trying to scroll the page. Just touch on somewhere on the text and the selection will be cleared.
- Spaces or line endings might get lost during or after selecting process. For example, if you start selecting just before a space character, this spce character gets lost once you clear the selection.
- After making a selection, if you type something from keyboard, selection stays and extends to contain the newly entered text. If you press copy, this newly entered text is also copied. Actually, this is not a bug, it is a feature
- There might be more I can’t remember. These are the ones that I see occasionaly.
- Only UTF8 strings are supported. I did not do much encoding checks and the application will probably crash if you try to import or export non-UTF8 strings. I have tested the application with only Turkish (and thus also English) characters up to now and it seemt to work flawlessly.
- If you manage to export a non-UTF8 text as a new Note and the application does not crash, there is a high probability that it will crash when you are trying to import that note. Besides that, the last entry of the Notes application might get corrupted. It would be best to open Notes application and see if the last entry can be viewed correctly or not.
- Only first 500 (or something) characters are imported from eMails. Unfortunately, this is not a bug; I just couldn’t manage to read the entire contents. For now, only this summary part is imported. There shouldn’t be a limit on exporting though.
- There are some issues with cursor position. After “cut”ting, you might see the cursor is put into a strange place. Also, after pasting, the cursor is set to the beginning of the pasted text instead of being set to the end of it.
- The tables look ugly, well, yeah. I should change the font size at least.
- Double tapping on the text will disable selection and it will just show the magnifier. Not a bug, but a feature again
- You might see nothing instead of mailboxes. This probably happens when the Mobile Mail Application was just in the middle of downloading new messages. Opening the mail application, waiting until it finishes loading new messages (until the loading animation-the turning circle disappears) and reopening CopierciN should correct the problem
- Meanwhile, mailbox folders are not divided into accounts, thus you will see a list of all folders from all accounts. This might be confusing with folders with same name in different accounts.
- Be sure to have a valid 2.x.x compatible notes database. I realized that the database format for notes.db is different in 1.x and 2.x firmwares. Thus, if you had just copied your notes database from your 1.1.4 iPhone after upgrading to 2.x, you might not be able to import or export notes. If this becomes an issue for majority of the users, I might add a compatibility version in the later releases.
- Short message groups are not ordered by the latest short message date as it is done in SMS application. For now, you have to look for the sender (or receiver).
- Contact list: This can be useful as there is no easy way to send a contact information with a short message or eMail. It is not very hard in theory but I should prepare a nice import interface to make it easier to list and select a contact.
- Plugin support: It would be nice to make it possible to write plugins to import/export to/from other applications. Hardcoding it for all the applications is just well, bad
- Making a clipboard framework: just like suggested by www.openclip.org, people can write their applications which use the same file as clipboard. This way we can have applications sharing the same clipboard and some kind of system-wide copy/paste functionality. That is, if Apple insists on not putting this functionality with a firmware. I respect the idea of www.openclip.org but well, it is just hard without jailbroken phones. By the way, I might integrate my application with the openclip framework in the future. I saw this project just a few days ago, or else I would already be working on that.
- Just leave a comment if you have any other thing in mind.