iOS SDK 2.6.10 errors when build and AppStore upload

ett

Member
I have 3 reports and 1 question.
Could you please give me your opinion?

1. CFBundlePackageType is FMWK, not iOS, isn't it?
I get a build error in NativeScript.
This is how I did it in my environment.
Code:
plutil -replace CFBundleVersion -string "FMWK" ./FPWCSApi2.framework/Info.plist


2. These errors occur when uploading an application to the AppStore.
> ERROR ITMS-90058: "This bundle is invalid. The value for key CFBundleVersion [FULL_VERSION] in the Info.plist file must be a period-separated list of at most three non-negative integers.
> ERROR ITMS-90060: "This bundle is invalid. The value for key CFBundleShortVersionString 'SHORT_VERSION' in the Info.plist file at '${bundlePath}' must be a period-separated list of at most three non-negative integers.
This is how I did it in my environment.
Code:
plutil -replace CFBundleVersion -string "2.6.10" ./FPWCSApi2.framework/Info.plist
plutil -replace CFBundleShortVersionString -string "2.6" ./FPWCSApi2.framework/Info.plist


3. These errors occur when uploading an application to the AppStore.
> ERROR ITMS-90205: "Invalid Bundle. The bundle at 'my.app/Frameworks/FPWCSApi2.framework' contains disallowed nested bundles."
> ERROR ITMS-90206: "Invalid Bundle. The bundle at 'my.app/Frameworks/FPWCSApi2.framework' contains disallowed file 'Frameworks'.
This is how I did it in my environment.
Code:
mv ./FPWCSApi2.framework/Frameworks/WebRTC.framework ./
rmdir ./FPWCSApi2.framework/Frameworks

: and also

mkdir ./WebRTC.framework/Modules
cat - 1>|./WebRTC.framework/Modules/module.modulemap <<'END_OF_MODULEMAP'
framework module WebRTC {
  umbrella header "WebRTC.h"

  export *
  module * { export * }
}


4. What is BOOL onlyPlayback of RTCAudioSessionConfiguration in the bundled WebRTC.framework?
I can't find any documentation for it, and it doesn't seem to be on webrtc.org either.
Does it affect the audio (AVAudioSession, etc.)?
 
Last edited:

Max

Administrator
Staff member
Good day.
We raised the ticket WCS-3049 and let you know here when fix it. Please use you workarounds temporary.
4. What is BOOL onlyPlayback of RTCAudioSessionConfiguration in the bundled WebRTC.framework?
I can't find any documentation for it, and it doesn't seem to be on webrtc.org either.
Does it affect the audio (AVAudioSession, etc.)?
This is the patch to prevent microphone access request in iOS 14 for player only applications. This does not affect audio, only permissions.
 

ett

Member
Thanks for the reply.
I see, I understand onlyPlayback is a feature related to this.

By the way, I have found a solution and have posted the how to in the thread.
I guess onlyPlayback is the same way.
 

Max

Administrator
Staff member
By the way, I have found a solution and have posted the how to in the thread.
I guess onlyPlayback is the same way.
Yes, we solved permissions problem on WebRTC library side
 

ett

Member
Thank you, Max.
And I found one more problem at iOS SDK 2.6.10.

Calling FPWCSApi2Room#unpublish does not occur kFPWCSStreamStatus.Unpublished.
There is no trace that /apps/RoomApp/unPublishStream was called in the server_logs/flashphoner.log.


This is not directly related to the above, but what is the correct way to terminate a room?

1. room.unpublish();
2. stream.stop();
3. room.leave();
4. roomManager.getSession().disconnect();
5. roomManager.disconnect();

I feel that 2 and 4 are unnecessary, but it is because I do not know the correct answer.
 

Max

Administrator
Staff member
Calling FPWCSApi2Room#unpublish does not occur kFPWCSStreamStatus.Unpublished.
There is no trace that /apps/RoomApp/unPublishStream was called in the server_logs/flashphoner.log.
We cannot reproduce the issue in VideoChat example application build with iOS SDK 2.6.10: after room.unpublish(), thete is the event unPublishStream on server side, status kFPWCSStreamStatusUnpublished is received by application.
Please check if the problem is reproducing in Video Chat example (GitHub)
This is not directly related to the above, but what is the correct way to terminate a room?
The room is terminated after last paticipant leaves it. According to Video Chat example description, the room leaving call flow is:
1. room.unpublish();
2. room.leave();
3. roomManager.disconnect();
 

ett

Member
We cannot reproduce the issue in VideoChat example application build with iOS SDK 2.6.10: after room.unpublish(), thete is the event unPublishStream on server side, status kFPWCSStreamStatusUnpublished is received by application.
Please check if the problem is reproducing in Video Chat example (GitHub)
It seems to have been some kind of problem on our end. There is no problem now.

The room is terminated after last paticipant leaves it. According to Video Chat example description, the room leaving call flow is:
1. room.unpublish();
2. room.leave();
3. roomManager.disconnect();
Thank you for the clear answer.
 

ett

Member
Hi, Max.
I have been able to upload to AppStore using 2.6.23 and that workaround.
Awesome thanks!
 
Top