0

We are trying to transfer a file either iOS <-> Android or iOS <-> iOS

The implemented logic works fine in Android but we have an issue in iOS
Keep in mind that we are testing on, iOS 7, alljoyn 3.4.6 and latest file transfer component module cloned from repository

Receiver Setup

Create bus attachment that allows communication between devices
Register the bus object
Request the bus attachment to connect
Bind the session to the default transports (all transports except wfd and bluetooth)
onSessionLost notify user for the error
onSessionJoined cancelAdvertiseName initialize the fileTransferComponent with bus attachment and session id. define the default save directory of fileTransferComponent setFileCompletedListener and setFileAnnouncementReceivedListener
After bind request and advertise name.
When necessary call the function busAttachment.enableConcurrentCallbacks()

Issue on Receiver Side

fileTransferComponent.requestOffer(joiner, filePath) returns status ok

UnannouncedFileRequestListener on sender is engaged and returns true

FileAnnouncementReceivedListener callback should have been called but is NOT engaged, so we cannot proceed

Why are we getting this issue in iOS only?
In case the library itself is the culprit as we suspect what needs to be fixed inside iOS library in order to make it work?

FYI, long story short, this is how it goes:

Sender: send via doRequestOffer the file that wants to get sent into receiver
Receiver: execute requestOffer to ask for file to offered
Sender: filepath is the same as expected? Yes
(so sender actually announces the file, this is handled via library)
Receiver: inside FileAnnouncementReceivedListener we received the new announcement
Now receiver has file id etc and he executes requestFile
Sender: you requested a file and have RequestDataReceivedListener to respond, sending the file has already started
Receiver: know the file has been received completely by FileCompletedListener
Sender: counted the bytes sent and know that the file is sent, but I will ask receiver for a verification via the proxy call

Community
  • 1
  • 1
George Pligoropoulos
  • 2,919
  • 3
  • 33
  • 65
  • just a question : the current version of alljoyn is now 12.03, and that's what you get if you take filetransfert from allseen git repository. I suggest you try to use 12.03 both for the core and the file transfert service. – Pierre Rust Mar 20 '14 at 08:19
  • @PierreRust thank you. Just a little bit confused. Where do we find the new alljoyn library? Are there any prebuilt libraries? The latter is important since we have tried compiling alljoyn from source in the past and [is a mess](http://i-apply.blogspot.gr/2013/09/building-alljoyn-from-source-for.html). Never made it work – George Pligoropoulos Mar 20 '14 at 08:26
  • Just built it yesterday, I confirm documentation is a mess ... (I should post a wiki page explaining how I did) I' did not see any binaries available. – Pierre Rust Mar 20 '14 at 08:39
  • My mistake : binaries for 12.02 are here : https://www.alljoyn.org/docs-and-downloads – Pierre Rust Mar 20 '14 at 09:19
  • Actually alljoyn is currently in version 14.02.00! Why did they jump from version 3.4.6 to these numbers? And we were not notified via email about these updates. Anyway we will try with new version. Thanks a lot – George Pligoropoulos Mar 24 '14 at 10:56
  • Yes, it's 14.02 (sorry for typo I my previous comment) , they switched to a date-based naming scheme. Next version will be 14.06, in june 2014. You will be notified if you subscribe to the AllSeen newsletters. – Pierre Rust Mar 24 '14 at 11:02
  • Did that solve your problem, should I write this inn an answer ? – Pierre Rust Mar 25 '14 at 08:15
  • not tested yet. be patient – George Pligoropoulos Mar 25 '14 at 09:34

0 Answers0